ECalBackendCache

ECalBackendCache — A helper class for caching calendar components

Types and Values

Object Hierarchy

    GObject
    ╰── EFileCache
        ╰── ECalBackendCache

Includes

#include <libedata-cal/libedata-cal.h>

Description

This class can be used by backends to store calendar components.

Functions

e_cal_backend_cache_new ()

ECalBackendCache *
e_cal_backend_cache_new (const gchar *filename);

Creates a new ECalBackendCache object, which implements a cache of calendar/tasks objects, very useful for remote backends.

Parameters

filename

filename for cache data

 

Returns

a new ECalBackendCache


e_cal_backend_cache_get_component ()

ECalComponent *
e_cal_backend_cache_get_component (ECalBackendCache *cache,
                                   const gchar *uid,
                                   const gchar *rid);

Gets a component from the ECalBackendCache object.

Parameters

cache

A ECalBackendCache object.

 

uid

The UID of the component to retrieve.

 

rid

Recurrence ID of the specific detached recurrence to retrieve, or NULL if the whole object is to be retrieved.

 

Returns

The ECalComponent representing the component found, or NULL if it was not found in the cache.


e_cal_backend_cache_put_component ()

gboolean
e_cal_backend_cache_put_component (ECalBackendCache *cache,
                                   ECalComponent *comp);

Puts the given calendar component in the given cache. This will add the component if it does not exist or replace it if there was a previous version of it.

Parameters

cache

An ECalBackendCache object.

 

comp

Component to put on the cache.

 

Returns

TRUE if the operation was successful, FALSE otherwise.


e_cal_backend_cache_remove_component ()

gboolean
e_cal_backend_cache_remove_component (ECalBackendCache *cache,
                                      const gchar *uid,
                                      const gchar *rid);

Removes a component from the cache.

Parameters

cache

An ECalBackendCache object.

 

uid

UID of the component to remove.

 

rid

Recurrence-ID of the component to remove. This is used when removing detached instances of a recurring appointment.

 

Returns

TRUE if the component was removed, FALSE otherwise.


e_cal_backend_cache_get_components ()

GList *
e_cal_backend_cache_get_components (ECalBackendCache *cache);

Retrieves a list of all the components stored in the cache.

Parameters

cache

An ECalBackendCache object.

 

Returns

A list of all the components. Each item in the list is an ECalComponent, which should be freed when no longer needed.


e_cal_backend_cache_get_components_by_uid ()

GSList *
e_cal_backend_cache_get_components_by_uid
                               (ECalBackendCache *cache,
                                const gchar *uid);

Retrieves a ical components from the cache.

Parameters

cache

An ECalBackendCache object.

 

uid

ID of the component to retrieve.

 

Returns

The list of calendar components if found, or NULL otherwise.


e_cal_backend_cache_get_timezone ()

const icaltimezone *
e_cal_backend_cache_get_timezone (ECalBackendCache *cache,
                                  const gchar *tzid);

Retrieves a timezone component from the cache.

Parameters

cache

An ECalBackendCache object.

 

tzid

ID of the timezone to retrieve.

 

Returns

The timezone if found, or NULL otherwise.


e_cal_backend_cache_put_timezone ()

gboolean
e_cal_backend_cache_put_timezone (ECalBackendCache *cache,
                                  const icaltimezone *zone);

Puts the given timezone in the cache, adding it, if it did not exist, or replacing it, if there was an older version.

Parameters

cache

An ECalBackendCache object.

 

zone

The timezone to put on the cache.

 

Returns

TRUE if the timezone was put on the cache, FALSE otherwise.


e_cal_backend_cache_put_default_timezone ()

gboolean
e_cal_backend_cache_put_default_timezone
                               (ECalBackendCache *cache,
                                icaltimezone *default_zone);

Sets the default timezone on the cache.

Parameters

cache

An ECalBackendCache object.

 

default_zone

The default timezone.

 

Returns

TRUE if the operation was successful, FALSE otherwise.


e_cal_backend_cache_get_default_timezone ()

icaltimezone *
e_cal_backend_cache_get_default_timezone
                               (ECalBackendCache *cache);

Retrieves the default timezone from the cache.

Parameters

cache

An ECalBackendCache object.

 

Returns

The default timezone, or NULL if no default timezone has been set on the cache.


e_cal_backend_cache_get_keys ()

GSList *
e_cal_backend_cache_get_keys (ECalBackendCache *cache);

Gets the list of unique keys in the cache file.

Parameters

cache

An ECalBackendCache object.

 

Returns

A list of all the keys. The items in the list are pointers to internal data, so should not be freed, only the list should.


e_cal_backend_cache_get_marker ()

const gchar *
e_cal_backend_cache_get_marker (ECalBackendCache *cache);

Gets the marker of the cache. If this field is present, it means the cache has been populated.

Parameters

cache

An ECalBackendCache object.

 

Returns

The value of the marker or NULL if the cache is still empty.


e_cal_backend_cache_set_marker ()

void
e_cal_backend_cache_set_marker (ECalBackendCache *cache);

Marks the cache as populated, to discriminate between an empty calendar and an unpopulated one.

Parameters

cache

An ECalBackendCache object.

 

e_cal_backend_cache_put_server_utc_time ()

gboolean
e_cal_backend_cache_put_server_utc_time
                               (ECalBackendCache *cache,
                                const gchar *utc_str);

Parameters

cache

An ECalBackendCache object.

 

utc_str

UTC string.

 

Returns

TRUE if the operation was successful, FALSE otherwise.


e_cal_backend_cache_get_server_utc_time ()

const gchar *
e_cal_backend_cache_get_server_utc_time
                               (ECalBackendCache *cache);

Parameters

cache

An ECalBackendCache object.

 

Returns

The server's UTC string.


e_cal_backend_cache_put_key_value ()

gboolean
e_cal_backend_cache_put_key_value (ECalBackendCache *cache,
                                   const gchar *key,
                                   const gchar *value);

Parameters

cache

An ECalBackendCache object.

 

key

The Key parameter to identify uniquely.

 

value

The value for the key parameter.

 

Returns

TRUE if the operation was successful, FALSE otherwise.


e_cal_backend_cache_get_key_value ()

const gchar *
e_cal_backend_cache_get_key_value (ECalBackendCache *cache,
                                   const gchar *key);

Parameters

cache

An ECalBackendCache object.

 

key

The key to fetch a value for

 

Returns

The value.

[transfer none]


e_cal_backend_cache_remove ()

gboolean
e_cal_backend_cache_remove (const gchar *dirname,
                            const gchar *basename);

Removes the cache directory

Parameters

dirname

The directory name where the cache is stored

 

basename

The directory inside dirname where the cache is stored

 

Returns

TRUE on success, FALSE otherwise

Since: 2.28

Types and Values

struct ECalBackendCache

struct ECalBackendCache;

Contains only private data that should be read and manipulated using the functions below.


struct ECalBackendCacheClass

struct ECalBackendCacheClass {
};

Class structure for the ECalBackendCache.