EFileCache 3 LIBEDATASERVER Library
EFileCache

## Synopsis

                EFileCachePrivate;
    EFileCache* e_file_cache_new                (const char *filename);
    gboolean    e_file_cache_remove             (EFileCache *cache);
    gboolean    e_file_cache_clean              (EFileCache *cache);
    const char* e_file_cache_get_object         (EFileCache *cache,
                                                 const char *key);
    GSList*     e_file_cache_get_objects        (EFileCache *cache);
    GSList*     e_file_cache_get_keys           (EFileCache *cache);
    gboolean    e_file_cache_add_object         (EFileCache *cache,
                                                 const char *key,
                                                 const char *value);
    gboolean    e_file_cache_replace_object     (EFileCache *cache,
                                                 const char *key,
                                                 const char *new_value);
    gboolean    e_file_cache_remove_object      (EFileCache *cache,
                                                 const char *key);
    void        e_file_cache_freeze_changes     (EFileCache *cache);
    void        e_file_cache_thaw_changes       (EFileCache *cache);
    const char* e_file_cache_get_filename       (EFileCache *cache);

## Description

## Details

### EFileCachePrivate

    typedef struct _EFileCachePrivate EFileCachePrivate;

EFileCachePrivate

### e_file_cache_new ()

    EFileCache* e_file_cache_new                (const char *filename);

Creates a new EFileCache object, which implements a cache of objects, very useful for remote backends.

filename :

  filename where the cache is kept.

Returns :

  The newly created object.

e_file_cache_new

### e_file_cache_remove ()

    gboolean    e_file_cache_remove             (EFileCache *cache);

Remove the cache from disk.

cache :

  A EFileCache object.

Returns :

  TRUE if successful, FALSE otherwise.

e_file_cache_remove

### e_file_cache_clean ()

    gboolean    e_file_cache_clean              (EFileCache *cache);

Clean up the cache's contents.

cache :

  A EFileCache object.

Returns :

  TRUE if successful, FALSE otherwise.

e_file_cache_clean

### e_file_cache_get_object ()

    const char* e_file_cache_get_object         (EFileCache *cache,
                                                 const char *key);

cache :

key :

Returns :

e_file_cache_get_object

### e_file_cache_get_objects ()

    GSList*     e_file_cache_get_objects        (EFileCache *cache);

cache :

Returns :

e_file_cache_get_objects

### e_file_cache_get_keys ()

    GSList*     e_file_cache_get_keys           (EFileCache *cache);

cache :

Returns :

e_file_cache_get_keys

### e_file_cache_add_object ()

    gboolean    e_file_cache_add_object         (EFileCache *cache,
                                                 const char *key,
                                                 const char *value);

cache :

key :

value :

Returns :

e_file_cache_add_object

### e_file_cache_replace_object ()

    gboolean    e_file_cache_replace_object     (EFileCache *cache,
                                                 const char *key,
                                                 const char *new_value);

cache :

key :

new_value :

Returns :

e_file_cache_replace_object

### e_file_cache_remove_object ()

    gboolean    e_file_cache_remove_object      (EFileCache *cache,
                                                 const char *key);

cache :

key :

Returns :

e_file_cache_remove_object

### e_file_cache_freeze_changes ()

    void        e_file_cache_freeze_changes     (EFileCache *cache);

Disables temporarily all writes to disk for the given cache object.

cache :

  An EFileCache object.

e_file_cache_freeze_changes

### e_file_cache_thaw_changes ()

    void        e_file_cache_thaw_changes       (EFileCache *cache);

Enables again writes to disk on every change.

cache :

  An EFileCache object.

e_file_cache_thaw_changes

### e_file_cache_get_filename ()

    const char* e_file_cache_get_filename       (EFileCache *cache);

Gets the name of the file where the cache is being stored.

cache :

  A `EFileCache` object.

Returns :

  The name of the cache.

e_file_cache_get_filename