## e-book-backend-db-cache e-book-backend-db-cache |

## Synopsis

    EContact *          e_book_backend_db_cache_get_contact (DB *db,
                                                             const gchar *uid);
    void                string_to_dbt                       (const gchar *str,
                                                             DBT *dbt);
    gchar *             e_book_backend_db_cache_get_filename
                                                            (DB *db);
    void                e_book_backend_db_cache_set_filename
                                                            (DB *db,
                                                             const gchar *filename);
    gboolean            e_book_backend_db_cache_add_contact (DB *db,
                                                             EContact *contact);
    gboolean            e_book_backend_db_cache_remove_contact
                                                            (DB *db,
                                                             const gchar *uid);
    gboolean            e_book_backend_db_cache_check_contact
                                                            (DB *db,
                                                             const gchar *uid);
    GList *             e_book_backend_db_cache_get_contacts
                                                            (DB *db,
                                                             const gchar *query);
    gboolean            e_book_backend_db_cache_exists      (const gchar *uri);
    void                e_book_backend_db_cache_set_populated
                                                            (DB *db);
    gboolean            e_book_backend_db_cache_is_populated
                                                            (DB *db);
    GPtrArray *         e_book_backend_db_cache_search      (DB *db,
                                                             const gchar *query);
    void                e_book_backend_db_cache_set_time    (DB *db,
                                                             const gchar *t);
    gchar *             e_book_backend_db_cache_get_time    (DB *db);

## Description

## Details

### e_book_backend_db_cache_get_contact ()

    EContact *          e_book_backend_db_cache_get_contact (DB *db,
                                                             const gchar *uid);

Get a cached contact. Note that the returned EContact will be newly created, and must be unreffed by the caller when no longer needed.

`db` : | DB Handle
`uid` : | a unique contact ID
Returns : | A cached EContact, or `NULL` if `uid` is not cached.

### string_to_dbt ()

    void                string_to_dbt                       (const gchar *str,
                                                             DBT *dbt);

### e_book_backend_db_cache_get_filename ()

    gchar *             e_book_backend_db_cache_get_filename
                                                            (DB *db);

Get the filename for db cacahe file.

`db` : | DB Handle

### e_book_backend_db_cache_set_filename ()

    void                e_book_backend_db_cache_set_filename
                                                            (DB *db,
                                                             const gchar *filename);

Set the filename for db cacahe file.

`db` : | DB Handle
`filename` : | filename to be set

### e_book_backend_db_cache_add_contact ()

    gboolean            e_book_backend_db_cache_add_contact (DB *db,
                                                             EContact *contact);

Adds `contact` to `cache`.

`db` : | DB Handle
`contact` : | an EContact
Returns : | `TRUE` if the contact was cached successfully, `FALSE` otherwise.

### e_book_backend_db_cache_remove_contact ()

    gboolean            e_book_backend_db_cache_remove_contact
                                                            (DB *db,
                                                             const gchar *uid);

Removes the contact identified by `uid` from `cache`.

`db` : | DB Handle
`uid` : | a unique contact ID
Returns : | `TRUE` if the contact was found and removed, `FALSE` otherwise.

### e_book_backend_db_cache_check_contact ()

    gboolean            e_book_backend_db_cache_check_contact
                                                            (DB *db,
                                                             const gchar *uid);

Checks if the contact identified by `uid` exists in `cache`.

`db` : | DB Handle
`uid` : | a unique contact ID
Returns : | `TRUE` if the cache contains the contact, `FALSE` otherwise.

### e_book_backend_db_cache_get_contacts ()

    GList *             e_book_backend_db_cache_get_contacts
                                                            (DB *db,
                                                             const gchar *query);

Returns a list of EContact elements from `cache` matching `query`. When done with the list, the caller must unref the contacts and free the list.

`db` : | DB Handle
`query` : | an s-expression
Returns : | A GList of pointers to EContact.

### e_book_backend_db_cache_exists ()

    gboolean            e_book_backend_db_cache_exists      (const gchar *uri);

Checks if an EBookBackendCache exists at `uri`.

`uri` : | URI for the cache
Returns : | `TRUE` if cache exists, `FALSE` if not.

### e_book_backend_db_cache_set_populated ()

    void                e_book_backend_db_cache_set_populated
                                                            (DB *db);

Flags `cache` as being populated - that is, it is up-to-date on the contents of the book it's caching.

`db` : | DB handle

### e_book_backend_db_cache_is_populated ()

    gboolean            e_book_backend_db_cache_is_populated
                                                            (DB *db);

### e_book_backend_db_cache_search ()

    GPtrArray *         e_book_backend_db_cache_search      (DB *db,
                                                             const gchar *query);

Returns an array of pointers to unique contact ID strings for contacts in `cache` matching `query`. When done with the array, the caller must free the ID strings and the array.

`db` : | DB handle
`query` : | an s-expression
Returns : | A GPtrArray of pointers to contact ID strings.

### e_book_backend_db_cache_set_time ()

    void                e_book_backend_db_cache_set_time    (DB *db,
                                                             const gchar *t);

Since 2.26

### e_book_backend_db_cache_get_time ()

    gchar *             e_book_backend_db_cache_get_time    (DB *db);

Since 2.26