Top | ![]() |
![]() |
![]() |
![]() |
gboolean | (*CamelDataCacheRemoveFunc) () |
CamelDataCache * | camel_data_cache_new () |
const gchar * | camel_data_cache_get_path () |
void | camel_data_cache_set_path () |
gboolean | camel_data_cache_get_expire_enabled () |
void | camel_data_cache_set_expire_enabled () |
void | camel_data_cache_set_expire_age () |
void | camel_data_cache_set_expire_access () |
GIOStream * | camel_data_cache_add () |
GIOStream * | camel_data_cache_get () |
gint | camel_data_cache_remove () |
gchar * | camel_data_cache_get_filename () |
void | camel_data_cache_clear () |
void | camel_data_cache_foreach_remove () |
gboolean (*CamelDataCacheRemoveFunc) (CamelDataCache *cdc
,const gchar *filename
,gpointer user_data
);
A callback called for each found file in the cache, used
by camel_data_cache_foreach_remove()
. The filename
corresponds
to the result of camel_data_cache_get_filename()
.
cdc |
||
filename |
a file name found in the cache |
|
user_data |
user data passed to |
Since: 3.26
CamelDataCache * camel_data_cache_new (const gchar *path
,GError **error
);
Create a new data cache.
const gchar *
camel_data_cache_get_path (CamelDataCache *cdc
);
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.
Since: 2.32
gboolean
camel_data_cache_get_expire_enabled (CamelDataCache *cdc
);
Gets whether expire of cache data is enabled.
This is a complementary property for camel_data_cache_set_expire_age()
and camel_data_cache_set_expire_access()
, which allows to disable expiry
without touching the two values. Having expire enabled, but not have set
any of the two times, still behaves like not having expiry enabled.
Since: 3.24
void camel_data_cache_set_expire_enabled (CamelDataCache *cdc
,gboolean expire_enabled
);
Sets whether expire of cache data is enabled.
This is a complementary property for camel_data_cache_set_expire_age()
and camel_data_cache_set_expire_access()
, which allows to disable expiry
without touching the two values. Having expire enabled, but not have set
any of the two times, still behaves like not having expiry enabled.
Since: 3.24
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.
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.
GIOStream * camel_data_cache_add (CamelDataCache *cdc
,const gchar *path
,const gchar *key
,GError **error
);
Add a new item to the cache, returning a GIOStream to the new item.
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.
The returned GIOStream is referenced for thread-safety and must be
unreferenced with g_object_unref()
when finished with it.
GIOStream * 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 GIOStream 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.
The returned GIOStream is referenced for thread-safety and must be
unreferenced with g_object_unref()
when finished with it.
gint camel_data_cache_remove (CamelDataCache *cdc
,const gchar *path
,const gchar *key
,GError **error
);
Remove/expire a cache item.
gchar * camel_data_cache_get_filename (CamelDataCache *cdc
,const gchar *path
,const gchar *key
);
Lookup the filename for an item in the cache
Since: 2.26
void camel_data_cache_clear (CamelDataCache *cdc
,const gchar *path
);
Clear cache's content in path
.
Since: 3.2
void camel_data_cache_foreach_remove (CamelDataCache *cdc
,const gchar *path
,CamelDataCacheRemoveFunc func
,gpointer user_data
);
Traverses the cdc
sub-cache identified by path
and calls func
for each found file.
If the func
returns TRUE
, then the file is removed, if FALSE
, it's kept in the cache.
cdc |
||
path |
Path to the (sub) cache the items exist in |
|
func |
a callback to call for each found file in the cache. |
[scope call][closure user_data] |
user_data |
user data passed to |
Since: 3.26
“expire-enabled”
property“expire-enabled” gboolean
Owner: CamelDataCache
Flags: Read / Write / Construct
Default value: TRUE