## KolabUtilCalendar KolabUtilCalendar — Utility methods for Evolution-Kolab calendar backend implementation. |

## Synopsis

    void                kolab_util_calendar_err_to_edb_err  (GError **e_err,
                                                             const GError *k_err,
                                                             const gchar *func,
                                                             guint line);
    gboolean            kolab_util_calendar_extract         (icalcomponent *icalcomp,
                                                             ECalSourceType source_type,
                                                             ECalComponent **ecalcomp,
                                                             ECalComponent **tzcomp,
                                                             GError **error);
    gchar *             kolab_util_calendar_get_tzid        (ECalComponent *comp,
                                                             ECalComponentField from);
    ECalBackendSyncStatus kolab_util_calendar_map_error     (GError *error);
    KolabUtilHttpJob *  kolab_util_calendar_retrieve_xfb    (KolabSettingsHandler *ksettings,
                                                             gchar *query,
                                                             GError **error);
    gboolean            kolab_util_calendar_store           (ECalComponent *ecalcomp,
                                                             ECalComponent *ecaltz,
                                                             ECalComponent *default_tz,
                                                             KolabMailAccess *koma,
                                                             const gchar *uri,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            kolab_util_calendar_toggle_pfb_trigger
                                                            (KolabSettingsHandler *ksettings,
                                                             const gchar *sourcename,
                                                             GError **error);

## Description

The methods in this library don't use the ECalBackendCache.

## Details

### kolab_util_calendar_err_to_edb_err ()

    void                kolab_util_calendar_err_to_edb_err  (GError **e_err,
                                                             const GError *k_err,
                                                             const gchar *func,
                                                             guint line);

### kolab_util_calendar_extract ()

    gboolean            kolab_util_calendar_extract         (icalcomponent *icalcomp,
                                                             ECalSourceType source_type,
                                                             ECalComponent **ecalcomp,
                                                             ECalComponent **tzcomp,
                                                             GError **error);

Extract supported information from icalcomponent and return them through ecalcomp and tzcomp.

`icalcomp` : | An icalcomponent.
`source_type` : | The data type to process.
`ecalcomp` : | An ECalComponent to return the extracted values to.
`tzcomp` : | An ECaComponent to return contained timezone data.
Returns : | if the given component type could be extracted successfully into ecalcomp + tzcomp;

### kolab_util_calendar_get_tzid ()

    gchar *             kolab_util_calendar_get_tzid        (ECalComponent *comp,
                                                             ECalComponentField from);

The ECalComponentDateTime Struct from an ECalComponents dtstart field or dtend field is queried for its tzid.

`comp` : | An ECalComponent to derive the tzid from.
`from` : | field to get the tzid from.
Returns : | A newly allocated tzid string (`g_free()` after use) or NULL if no ID was found.

### kolab_util_calendar_map_error ()

    ECalBackendSyncStatus kolab_util_calendar_map_error     (GError *error);

### kolab_util_calendar_retrieve_xfb ()

    KolabUtilHttpJob *  kolab_util_calendar_retrieve_xfb    (KolabSettingsHandler *ksettings,
                                                             gchar *query,
                                                             GError **error);

### kolab_util_calendar_store ()

    gboolean            kolab_util_calendar_store           (ECalComponent *ecalcomp,
                                                             ECalComponent *ecaltz,
                                                             ECalComponent *default_tz,
                                                             KolabMailAccess *koma,
                                                             const gchar *uri,
                                                             GCancellable *cancellable,
                                                             GError **error);

### kolab_util_calendar_toggle_pfb_trigger ()

    gboolean            kolab_util_calendar_toggle_pfb_trigger
                                                            (KolabSettingsHandler *ksettings,
                                                             const gchar *sourcename,
                                                             GError **error);