## EContactStore EContactStore |

## Synopsis

    struct              EContactStore;
    EContactStore *     e_contact_store_new                 (void);
    EBookClient *       e_contact_store_get_client          (EContactStore *contact_store,
                                                             GtkTreeIter *iter);
    EContact *          e_contact_store_get_contact         (EContactStore *contact_store,
                                                             GtkTreeIter *iter);
    gboolean            e_contact_store_find_contact        (EContactStore *contact_store,
                                                             const gchar *uid,
                                                             GtkTreeIter *iter);
    GSList *            e_contact_store_get_clients         (EContactStore *contact_store);
    void                e_contact_store_add_client          (EContactStore *contact_store,
                                                             EBookClient *book_client);
    gboolean            e_contact_store_remove_client       (EContactStore *contact_store,
                                                             EBookClient *book_client);
    void                e_contact_store_set_query           (EContactStore *contact_store,
                                                             EBookQuery *book_query);
    EBookQuery *        e_contact_store_peek_query          (EContactStore *contact_store);

## Object Hierarchy

      GObject
       +----EContactStore

## Implemented Interfaces

EContactStore implements GtkTreeModel.

## Signals

      "start-client-view"                              : Run Last
      "stop-client-view"                               : Run Last

## Description

## Details

### struct EContactStore

    struct EContactStore;

### e_contact_store_new ()

    EContactStore *     e_contact_store_new                 (void);

Creates a new EContactStore.

Returns : | A new EContactStore.

### e_contact_store_get_client ()

    EBookClient *       e_contact_store_get_client          (EContactStore *contact_store,
                                                             GtkTreeIter *iter);

Gets the EBookClient that provided the contact at `iter`.

`contact_store` : | an EContactStore
`iter` : | a GtkTreeIter from `contact_store`
Returns : | An EBookClient.

Since 3.2

### e_contact_store_get_contact ()

    EContact *          e_contact_store_get_contact         (EContactStore *contact_store,
                                                             GtkTreeIter *iter);

Gets the EContact at `iter`.

`contact_store` : | an EContactStore
`iter` : | a GtkTreeIter from `contact_store`
Returns : | An EContact.

### e_contact_store_find_contact ()

    gboolean            e_contact_store_find_contact        (EContactStore *contact_store,
                                                             const gchar *uid,
                                                             GtkTreeIter *iter);

Sets `iter` to point to the contact row matching `uid`.

`contact_store` : | an EContactStore
`uid` : | a unique contact identifier
`iter` : | a destination GtkTreeIter to set
Returns : | `TRUE` if the contact was found, and `iter` was set. `FALSE` otherwise.

### e_contact_store_get_clients ()

    GSList *            e_contact_store_get_clients         (EContactStore *contact_store);

Gets the list of book clients that provide contacts for `contact_store`.

`contact_store` : | an EContactStore
Returns : | A GSList of pointers to EBookClient. The caller owns the list, but not the book clients.

Since 3.2

### e_contact_store_add_client ()

    void                e_contact_store_add_client          (EContactStore *contact_store,
                                                             EBookClient *book_client);

Adds `book_client` to the list of clients that provide contacts for `contact_store`. The `contact_store` adds a reference to `book_client`, if added.

`contact_store` : | an EContactStore
`book_client` : | an EBookClient

Since 3.2

### e_contact_store_remove_client ()

    gboolean            e_contact_store_remove_client       (EContactStore *contact_store,
                                                             EBookClient *book_client);

Removes `book_client` from the list of clients that provide contacts for `contact_store`.

`contact_store` : | an EContactStore
`book_client` : | an EBookClient
Returns : | whether `book_client` was found and removed

Since 3.2

### e_contact_store_set_query ()

    void                e_contact_store_set_query           (EContactStore *contact_store,
                                                             EBookQuery *book_query);

Sets `book_query` to be the query used to fetch contacts from the books assigned to `contact_store`.

`contact_store` : | an EContactStore
`book_query` : | an EBookQuery

### e_contact_store_peek_query ()

    EBookQuery *        e_contact_store_peek_query          (EContactStore *contact_store);

Gets the query that's being used to fetch contacts from the books assigned to `contact_store`.

`contact_store` : | an EContactStore
Returns : | The EBookQuery being used.

## Signal Details

### The `"start-client-view"` signal

    void                user_function                      (EContactStore   *econtactstore,
                                                            EBookClientView *arg1,
                                                            gpointer         user_data)          : Run Last

### The `"stop-client-view"` signal

    void                user_function                      (EContactStore   *econtactstore,
                                                            EBookClientView *arg1,
                                                            gpointer         user_data)          : Run Last