|  |  |  | Camel Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | ||||
struct CamelDataCache; CamelDataCache * camel_data_cache_new (const gchar *path,GError **error); const gchar * camel_data_cache_get_path (CamelDataCache *cdc); void camel_data_cache_set_path (CamelDataCache *cdc,const gchar *path); void camel_data_cache_set_expire_age (CamelDataCache *cdc,time_t when); void camel_data_cache_set_expire_access (CamelDataCache *cdc,time_t when); CamelStream * camel_data_cache_add (CamelDataCache *cdc,const gchar *path,const gchar *key,GError **error); CamelStream * camel_data_cache_get (CamelDataCache *cdc,const gchar *path,const gchar *key,GError **error); gint camel_data_cache_remove (CamelDataCache *cdc,const gchar *path,const gchar *key,GError **error); gchar * camel_data_cache_get_filename (CamelDataCache *cdc,const gchar *path,const gchar *key); void camel_data_cache_clear (CamelDataCache *cdc,const gchar *path);
CamelDataCache * camel_data_cache_new (const gchar *path,GError **error);
Create a new data cache.
| 
 | Base path of cache, subdirectories will be created here. | 
| 
 | return location for a GError, or NULL | 
| Returns : | A new cache object, or NULL if the base path cannot be written to. | 
const gchar *       camel_data_cache_get_path           (CamelDataCache *cdc);
Returns the path to the data cache.
| 
 | a CamelDataCache | 
| Returns : | the path to the data cache | 
Since 2.32
void camel_data_cache_set_path (CamelDataCache *cdc,const gchar *path);
Sets the path to the data cache.
| 
 | a CamelDataCache | 
| 
 | path to the data cache | 
Since 2.32
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.
| 
 | A CamelDataCache | 
| 
 | Timeout for age expiry, or -1 to disable. | 
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.
| 
 | A CamelDataCache | 
| 
 | Timeout for access, or -1 to disable access expiry. | 
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.
| 
 | A CamelDataCache | 
| 
 | Relative path of item to add. | 
| 
 | Key of item to add. | 
| 
 | return location for a GError, or NULL | 
| Returns : | A CamelStream (file) opened in read-write mode. The caller must unref this when finished. | 
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.
| 
 | A CamelDataCache | 
| 
 | Path to the (sub) cache the item exists in. | 
| 
 | Key for the cache item. | 
| 
 | return location for a GError, or NULL | 
| Returns : | A cache item, or NULL if the cache item does not exist. | 
gint camel_data_cache_remove (CamelDataCache *cdc,const gchar *path,const gchar *key,GError **error);
Remove/expire a cache item.
| 
 | A CamelDataCache | 
| 
 | return location for a GError, or NULL | 
gchar * camel_data_cache_get_filename (CamelDataCache *cdc,const gchar *path,const gchar *key);
Lookup the filename for an item in the cache
| 
 | A CamelDataCache | 
| 
 | Path to the (sub) cache the item exists in. | 
| 
 | Key for the cache item. | 
| Returns : | The filename for a cache item | 
Since 2.26
void camel_data_cache_clear (CamelDataCache *cdc,const gchar *path);
Clear cache's content in path.
| 
 | a CamelDataCache | 
| 
 | Path to the (sub) cache the item exists in. | 
Since 3.2