CamelDataCache

CamelDataCache

Functions

Properties

gchar * path Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── CamelObject
        ╰── CamelDataCache

Description

Functions

camel_data_cache_new ()

CamelDataCache *
camel_data_cache_new (const gchar *path,
                      GError **error);

Create a new data cache.

Parameters

path

Base path of cache, subdirectories will be created here.

 

error

return location for a GError, or NULL

 

Returns

A new cache object, or NULL if the base path cannot be written to.


camel_data_cache_get_path ()

const gchar *
camel_data_cache_get_path (CamelDataCache *cdc);

Returns the path to the data cache.

Parameters

cdc

a CamelDataCache

 

Returns

the path to the data cache

Since 2.32


camel_data_cache_set_path ()

void
camel_data_cache_set_path (CamelDataCache *cdc,
                           const gchar *path);

Sets the path to the data cache.

Parameters

cdc

a CamelDataCache

 

path

path to the data cache

 

Since 2.32


camel_data_cache_set_expire_age ()

void
camel_data_cache_set_expire_age (CamelDataCache *cdc,
                                 time_t when);

Set the cache expiration policy for aged entries.

Items in the cache older than when seconds may be flushed at any time. Items are expired in a lazy manner, so it is indeterminate when the items will physically be removed.

Note you can set both an age and an access limit. The age acts as a hard limit on cache entries.

Parameters

cdc

A CamelDataCache

 

when

Timeout for age expiry, or -1 to disable.

 

camel_data_cache_set_expire_access ()

void
camel_data_cache_set_expire_access (CamelDataCache *cdc,
                                    time_t when);

Set the cache expiration policy for access times.

Items in the cache which haven't been accessed for when seconds may be expired at any time. Items are expired in a lazy manner, so it is indeterminate when the items will physically be removed.

Note you can set both an age and an access limit. The age acts as a hard limit on cache entries.

Parameters

cdc

A CamelDataCache

 

when

Timeout for access, or -1 to disable access expiry.

 

camel_data_cache_add ()

CamelStream *
camel_data_cache_add (CamelDataCache *cdc,
                      const gchar *path,
                      const gchar *key,
                      GError **error);

Add a new item to the cache.

The key and the path combine to form a unique key used to store the item.

Potentially, expiry processing will be performed while this call is executing.

Parameters

cdc

A CamelDataCache

 

path

Relative path of item to add.

 

key

Key of item to add.

 

error

return location for a GError, or NULL

 

Returns

A CamelStream (file) opened in read-write mode. The caller must unref this when finished.


camel_data_cache_get ()

CamelStream *
camel_data_cache_get (CamelDataCache *cdc,
                      const gchar *path,
                      const gchar *key,
                      GError **error);

Lookup an item in the cache. If the item exists, a stream is returned for the item. The stream may be shared by multiple callers, so ensure the stream is in a valid state through external locking.

Parameters

cdc

A CamelDataCache

 

path

Path to the (sub) cache the item exists in.

 

key

Key for the cache item.

 

error

return location for a GError, or NULL

 

Returns

A cache item, or NULL if the cache item does not exist.


camel_data_cache_remove ()

gint
camel_data_cache_remove (CamelDataCache *cdc,
                         const gchar *path,
                         const gchar *key,
                         GError **error);

Remove/expire a cache item.

Parameters

cdc

A CamelDataCache

 

error

return location for a GError, or NULL

 

Returns


camel_data_cache_get_filename ()

gchar *
camel_data_cache_get_filename (CamelDataCache *cdc,
                               const gchar *path,
                               const gchar *key,
                               GError **error);

Lookup the filename for an item in the cache

Parameters

cdc

A CamelDataCache

 

path

Path to the (sub) cache the item exists in.

 

key

Key for the cache item.

 

error

return location for a GError, or NULL

 

Returns

The filename for a cache item

Since 2.26


camel_data_cache_clear ()

void
camel_data_cache_clear (CamelDataCache *cdc,
                        const gchar *path);

Clear cache's content in path .

Parameters

cdc

a CamelDataCache

 

path

Path to the (sub) cache the item exists in.

 

Since 3.2

Types and Values

struct CamelDataCache

struct CamelDataCache;

Property Details

The “path” property

  “path”                     gchar *

Flags: Read / Write / Construct

Default value: NULL