camel-uid-cache

camel-uid-cache

Functions

Types and Values

Description

Functions

camel_uid_cache_new ()

CamelUIDCache *
camel_uid_cache_new (const gchar *filename);

Creates a new UID cache, initialized from filename . If filename doesn't already exist, the UID cache will be empty. Otherwise, if it does exist but can't be read, the function will return NULL.

[skip]

Parameters

filename

path to load the cache from

 

Returns

a new UID cache, or NULL.

[nullable]


camel_uid_cache_save ()

gboolean
camel_uid_cache_save (CamelUIDCache *cache);

Attempts to save cache back to disk.

Parameters

cache

a CamelUIDCache

 

Returns

success or failure


camel_uid_cache_destroy ()

void
camel_uid_cache_destroy (CamelUIDCache *cache);

Destroys cache and frees its data.

Parameters

cache

a CamelUIDCache

 

camel_uid_cache_get_new_uids ()

GPtrArray *
camel_uid_cache_get_new_uids (CamelUIDCache *cache,
                              GPtrArray *uids);

Returns an array of UIDs from uids that are not in cache , and removes UIDs from cache that aren't in uids .

Parameters

cache

a CamelUIDCache

 

uids

an array of UIDs.

[element-type utf8][transfer none]

Returns

an array of new UIDs, which must be freed with camel_uid_cache_free_uids().

[element-type utf8][transfer full]


camel_uid_cache_save_uid ()

void
camel_uid_cache_save_uid (CamelUIDCache *cache,
                          const gchar *uid);

Marks a uid for saving.

Parameters

cache

a CamelUIDCache

 

uid

a uid to save

 

camel_uid_cache_free_uids ()

void
camel_uid_cache_free_uids (GPtrArray *uids);

Frees the array of UIDs.

Parameters

uids

an array returned from camel_uid_cache_get_new_uids().

[element-type utf8][transfer full]

Types and Values

CamelUIDCache

typedef struct {
	gchar *filename;
	GHashTable *uids;
	guint level;
	gsize expired;
	gsize size;
	gint fd;
} CamelUIDCache;