## EContactStore EContactStore |

## Synopsis

                        EContactStore;
    EContactStore *     e_contact_store_new                 (void);
    EBook *             e_contact_store_get_book            (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);
    GList *             e_contact_store_get_books           (EContactStore *contact_store);
    void                e_contact_store_add_book            (EContactStore *contact_store,
                                                             EBook *book);
    void                e_contact_store_remove_book         (EContactStore *contact_store,
                                                             EBook *book);
    void                e_contact_store_set_query           (EContactStore *contact_store,
                                                             EBookQuery *book_query);
    EBookQuery *        e_contact_store_peek_query          (EContactStore *contact_store);
    EBookView *         find_contact_source_by_book_return_view
                                                            (EContactStore *contact_store,
                                                             EBook *book);

## Object Hierarchy

      GObject
       +----EContactStore

## Implemented Interfaces

EContactStore implements GtkTreeModel.

## Description

## Details

### EContactStore

    typedef struct _EContactStore EContactStore;

### e_contact_store_new ()

    EContactStore *     e_contact_store_new                 (void);

Creates a new EContactStore.

Returns : | A new EContactStore.

### e_contact_store_get_book ()

    EBook *             e_contact_store_get_book            (EContactStore *contact_store,
                                                             GtkTreeIter *iter);

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

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

### 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_books ()

    GList *             e_contact_store_get_books           (EContactStore *contact_store);

Gets the list of books that provide contacts for `contact_store`.

`contact_store` : | an EContactStore
Returns : | A GList of pointers to EBook. The caller owns the list, but not the books.

### e_contact_store_add_book ()

    void                e_contact_store_add_book            (EContactStore *contact_store,
                                                             EBook *book);

Adds `book` to the list of books that provide contacts for `contact_store`.

`contact_store` : | an EContactStore
`book` : | an EBook

### e_contact_store_remove_book ()

    void                e_contact_store_remove_book         (EContactStore *contact_store,
                                                             EBook *book);

Removes `book` from the list of books that provide contacts for `contact_store`.

`contact_store` : | an EContactStore
`book` : | an EBook

### 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.

### find_contact_source_by_book_return_view ()

    EBookView *         find_contact_source_by_book_return_view
                                                            (EContactStore *contact_store,
                                                             EBook *book);

`contact_store` : |
`book` : |
Returns : |