## EContactStore EContactStore — |

## Synopsis

    typedef     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 : |