## ECalBackendStore ECalBackendStore |

## Synopsis

    struct              ECalBackendStore;
    ECalBackendStore *  e_cal_backend_store_new             (const gchar *path,
                                                             ETimezoneCache *cache);
    const gchar *       e_cal_backend_store_get_path        (ECalBackendStore *store);
    ETimezoneCache *    e_cal_backend_store_ref_timezone_cache
                                                            (ECalBackendStore *store);
    gboolean            e_cal_backend_store_load            (ECalBackendStore *store);
    gboolean            e_cal_backend_store_is_loaded       (ECalBackendStore *store);
    gboolean            e_cal_backend_store_clean           (ECalBackendStore *store);
    ECalComponent *     e_cal_backend_store_get_component   (ECalBackendStore *store,
                                                             const gchar *uid,
                                                             const gchar *rid);
    gboolean            e_cal_backend_store_put_component_with_time_range
                                                            (ECalBackendStore *store,
                                                             ECalComponent *comp,
                                                             time_t occurence_start,
                                                             time_t occurence_end);
    gboolean            e_cal_backend_store_put_component   (ECalBackendStore *store,
                                                             ECalComponent *comp);
    gboolean            e_cal_backend_store_remove_component
                                                            (ECalBackendStore *store,
                                                             const gchar *uid,
                                                             const gchar *rid);
    gboolean            e_cal_backend_store_has_component   (ECalBackendStore *store,
                                                             const gchar *uid,
                                                             const gchar *rid);
    const icaltimezone * e_cal_backend_store_get_default_timezone
                                                            (ECalBackendStore *store);
    gboolean            e_cal_backend_store_set_default_timezone
                                                            (ECalBackendStore *store,
                                                             icaltimezone *zone);
    GSList *            e_cal_backend_store_get_components_by_uid
                                                            (ECalBackendStore *store,
                                                             const gchar *uid);
    gchar *             e_cal_backend_store_get_components_by_uid_as_ical_string
                                                            (ECalBackendStore *store,
                                                             const gchar *uid);
    GSList *            e_cal_backend_store_get_components  (ECalBackendStore *store);
    GSList *            e_cal_backend_store_get_components_occuring_in_range
                                                            (ECalBackendStore *store,
                                                             time_t start,
                                                             time_t end);
    GSList *            e_cal_backend_store_get_component_ids
                                                            (ECalBackendStore *store);
    const gchar *       e_cal_backend_store_get_key_value   (ECalBackendStore *store,
                                                             const gchar *key);
    gboolean            e_cal_backend_store_put_key_value   (ECalBackendStore *store,
                                                             const gchar *key,
                                                             const gchar *value);
    void                e_cal_backend_store_thaw_changes    (ECalBackendStore *store);
    void                e_cal_backend_store_freeze_changes  (ECalBackendStore *store);
    void                e_cal_backend_store_interval_tree_add_comp
                                                            (ECalBackendStore *store,
                                                             ECalComponent *comp,
                                                             time_t start,
                                                             time_t end);

## Object Hierarchy

      GObject
       +----ECalBackendStore

## Properties

      "path"                     gchar*                : Read / Write / Construct Only
      "timezone-cache"           ETimezoneCache*       : Read / Write / Construct Only

## Description

## Details

### struct ECalBackendStore

    struct ECalBackendStore;

Since 2.28

### e_cal_backend_store_new ()

    ECalBackendStore *  e_cal_backend_store_new             (const gchar *path,
                                                             ETimezoneCache *cache);

Creates a new ECalBackendStore from `path` and `cache`.

`path` : | the directory for the store file
`cache` : | an ETimezoneCache
Returns : | a new ECalBackendStore

Since 3.8

### e_cal_backend_store_get_path ()

    const gchar *       e_cal_backend_store_get_path        (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_ref_timezone_cache ()

    ETimezoneCache *    e_cal_backend_store_ref_timezone_cache
                                                            (ECalBackendStore *store);

Returns the ETimezoneCache passed to `e_cal_backend_store_new()`.

The returned ETimezoneCache is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

`store` : | an ECalBackendStore
Returns : | an ETimezoneCache

Since 3.8

### e_cal_backend_store_load ()

    gboolean            e_cal_backend_store_load            (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_is_loaded ()

    gboolean            e_cal_backend_store_is_loaded       (ECalBackendStore *store);

### e_cal_backend_store_clean ()

    gboolean            e_cal_backend_store_clean           (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_get_component ()

    ECalComponent *     e_cal_backend_store_get_component   (ECalBackendStore *store,
                                                             const gchar *uid,
                                                             const gchar *rid);

Since 2.28

### e_cal_backend_store_put_component_with_time_range ()

    gboolean            e_cal_backend_store_put_component_with_time_range
                                                            (ECalBackendStore *store,
                                                             ECalComponent *comp,
                                                             time_t occurence_start,
                                                             time_t occurence_end);

Since 2.32

### e_cal_backend_store_put_component ()

    gboolean            e_cal_backend_store_put_component   (ECalBackendStore *store,
                                                             ECalComponent *comp);

Since 2.28

### e_cal_backend_store_remove_component ()

    gboolean            e_cal_backend_store_remove_component
                                                            (ECalBackendStore *store,
                                                             const gchar *uid,
                                                             const gchar *rid);

Since 2.28

### e_cal_backend_store_has_component ()

    gboolean            e_cal_backend_store_has_component   (ECalBackendStore *store,
                                                             const gchar *uid,
                                                             const gchar *rid);

Since 2.28

### e_cal_backend_store_get_default_timezone ()

    const icaltimezone * e_cal_backend_store_get_default_timezone
                                                            (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_set_default_timezone ()

    gboolean            e_cal_backend_store_set_default_timezone
                                                            (ECalBackendStore *store,
                                                             icaltimezone *zone);

Since 2.28

### e_cal_backend_store_get_components_by_uid ()

    GSList *            e_cal_backend_store_get_components_by_uid
                                                            (ECalBackendStore *store,
                                                             const gchar *uid);

Since 2.28

### e_cal_backend_store_get_components_by_uid_as_ical_string ()

    gchar *             e_cal_backend_store_get_components_by_uid_as_ical_string
                                                            (ECalBackendStore *store,
                                                             const gchar *uid);

`store` : | an ECalBackendStore
`uid` : | a component UID
Returns : | Newly allocated ical string containing all instances with given `uid`. Free returned pointer with `g_free()`, when no longer needed.

Since 3.10

### e_cal_backend_store_get_components ()

    GSList *            e_cal_backend_store_get_components  (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_get_components_occuring_in_range ()

    GSList *            e_cal_backend_store_get_components_occuring_in_range
                                                            (ECalBackendStore *store,
                                                             time_t start,
                                                             time_t end);

Retrieves a list of components stored in the store, that are occuring in time range [start, end].

`store` : | An ECalBackendStore object.
Returns : | A list of the components. Each item in the list is an ECalComponent, which should be freed when no longer needed.

Since 2.32

### e_cal_backend_store_get_component_ids ()

    GSList *            e_cal_backend_store_get_component_ids
                                                            (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_get_key_value ()

    const gchar *       e_cal_backend_store_get_key_value   (ECalBackendStore *store,
                                                             const gchar *key);

Since 2.28

### e_cal_backend_store_put_key_value ()

    gboolean            e_cal_backend_store_put_key_value   (ECalBackendStore *store,
                                                             const gchar *key,
                                                             const gchar *value);

Since 2.28

### e_cal_backend_store_thaw_changes ()

    void                e_cal_backend_store_thaw_changes    (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_freeze_changes ()

    void                e_cal_backend_store_freeze_changes  (ECalBackendStore *store);

Since 2.28

### e_cal_backend_store_interval_tree_add_comp ()

    void                e_cal_backend_store_interval_tree_add_comp
                                                            (ECalBackendStore *store,
                                                             ECalComponent *comp,
                                                             time_t start,
                                                             time_t end);

Since 2.32

## Property Details

### The `"path"` property

      "path"                     gchar*                : Read / Write / Construct Only

Default value: NULL

### The `"timezone-cache"` property

      "timezone-cache"           ETimezoneCache*       : Read / Write / Construct Only

An object implementing the ETimezoneCache interface.