## kolab-util-backend kolab-util-backend |

## Synopsis

    #define             KOLAB_BACKEND_ERROR
    enum                KolabBackendError;
    gchar *             kolab_util_backend_account_uid_new_from_settings
                                                            (KolabSettingsHandler *ksettings,
                                                             GError **err);
    CamelURL *          kolab_util_backend_camel_url_new_from_settings
                                                            (KolabSettingsHandler *ksettings,
                                                             GError **err);
    gboolean            kolab_util_backend_deploy_mode_by_backend
                                                            (struct _KolabMailAccess *koma,
                                                             gboolean online,
                                                             GCancellable *cancellable,
                                                             GError **error);
    KolabMailAccessOpmodeID kolab_util_backend_deploy_mode_by_koma
                                                            (struct _KolabMailAccess *koma,
                                                             KolabMailAccessOpmodeID koma_mode,
                                                             GCancellable *cancellable,
                                                             GError **error);
    GQuark              kolab_util_backend_error_quark      (void);
    gchar *             kolab_util_backend_foldername_new_from_sourcename
                                                            (const gchar *sourcename,
                                                             GError **err);
    gchar *             kolab_util_backend_get_relative_path_from_uri
                                                            (const gchar *uri);
    const gchar *       kolab_util_backend_get_sync_strategy_desc
                                                            (KolabSyncStrategyID id);
    const gchar *       kolab_util_backend_get_tls_variant_desc
                                                            (KolabTLSVariantID id);
    void                kolab_util_backend_koma_table_cleanup_cb
                                                            (gpointer data,
                                                             GObject *object,
                                                             gboolean is_last_ref);
    void                kolab_util_backend_modtime_set_on_ecalcomp
                                                            (ECalComponent *ecalcomp);
    void                kolab_util_backend_modtime_set_on_econtact
                                                            (EContact *econtact);
    void                kolab_util_backend_prepare_settings (KolabSettingsHandler *ksettings,
                                                             ESource *esource,
                                                             const gchar *servername,
                                                             const gchar *username,
                                                             const gchar *password,
                                                             const gchar *sourcename,
                                                             const KolabSyncStrategyID *sync_value);
    gchar *             kolab_util_backend_sourcename_new_from_foldername
                                                            (const gchar *foldername,
                                                             GError **err);
    gboolean            kolab_util_backend_sqlite_db_new_open
                                                            (KolabUtilSqliteDb **kdb,
                                                             KolabSettingsHandler *ksettings,
                                                             const gchar *dbfilename,
                                                             GError **err);
    KolabReqPkcs11      kolab_util_misc_req_pkcs11_from_property
                                                            (const gchar *req_pkcs11_prop);
    KolabSyncStrategyID kolab_util_misc_sync_value_from_property
                                                            (const gchar *sync_prop);
    KolabTLSVariantID   kolab_util_misc_tls_variant_from_property
                                                            (const gchar *tls_variant);

## Description

## Details

### KOLAB_BACKEND_ERROR

    #define KOLAB_BACKEND_ERROR (kolab_util_backend_error_quark ())

### enum KolabBackendError

    typedef enum {
    	KOLAB_BACKEND_ERROR_GENERIC = 0, /* lazy fallback error */
    	KOLAB_BACKEND_ERROR_INTERNAL,		/* internal (programming) error */
    	KOLAB_BACKEND_ERROR_NOTFOUND,		/* any object was not found */
    	KOLAB_BACKEND_ERROR_SYNC_NOTSTORED,     /* object not stored due to sync conflict */
    	KOLAB_BACKEND_ERROR_CONTEXT_MISUSE,     /* calendar/contacts mixup */
    	KOLAB_BACKEND_ERROR_DATATYPE_EVOLUTION, /* Evo data type error */
    	KOLAB_BACKEND_ERROR_DATATYPE_KOLAB,     /* Kolab data type error */
    	KOLAB_BACKEND_ERROR_DATATYPE_INTERNAL,  /* Backend data type error */
    	KOLAB_BACKEND_ERROR_HANDLE_INCOMPLETE,  /* not-yet-completed KolabMailHandle */
    	KOLAB_BACKEND_ERROR_STATE_WRONG_FOR_OP, /* wrong state for requested operation */
    	KOLAB_BACKEND_ERROR_INFODB_GENERIC,     /* for cumulated InfoDb errors */
    	KOLAB_BACKEND_ERROR_INFODB_NOFOLDER ,   /* item destination folder unknown */
    	KOLAB_BACKEND_ERROR_INFODB_EXISTS,      /* item to be added already exists */
    	KOLAB_BACKEND_ERROR_CAMEL	        /* Camel system error */
    } KolabBackendError;

### kolab_util_backend_account_uid_new_from_settings ()

    gchar *             kolab_util_backend_account_uid_new_from_settings
                                                            (KolabSettingsHandler *ksettings,
                                                             GError **err);

### kolab_util_backend_camel_url_new_from_settings ()

    CamelURL *          kolab_util_backend_camel_url_new_from_settings
                                                            (KolabSettingsHandler *ksettings,
                                                             GError **err);

### kolab_util_backend_deploy_mode_by_backend ()

    gboolean            kolab_util_backend_deploy_mode_by_backend
                                                            (struct _KolabMailAccess *koma,
                                                             gboolean online,
                                                             GCancellable *cancellable,
                                                             GError **error);

### kolab_util_backend_deploy_mode_by_koma ()

    KolabMailAccessOpmodeID kolab_util_backend_deploy_mode_by_koma
                                                            (struct _KolabMailAccess *koma,
                                                             KolabMailAccessOpmodeID koma_mode,
                                                             GCancellable *cancellable,
                                                             GError **error);

### kolab_util_backend_error_quark ()

    GQuark              kolab_util_backend_error_quark      (void);

### kolab_util_backend_foldername_new_from_sourcename ()

    gchar *             kolab_util_backend_foldername_new_from_sourcename
                                                            (const gchar *sourcename,
                                                             GError **err);

### kolab_util_backend_get_relative_path_from_uri ()

    gchar *             kolab_util_backend_get_relative_path_from_uri
                                                            (const gchar *uri);

Extracts the path from the given uri. Leading "/" are removed.

`uri` : | An URI string
Returns : | A newly allocated string containing the uri, or NULL.

### kolab_util_backend_get_sync_strategy_desc ()

    const gchar *       kolab_util_backend_get_sync_strategy_desc
                                                            (KolabSyncStrategyID id);

### kolab_util_backend_get_tls_variant_desc ()

    const gchar *       kolab_util_backend_get_tls_variant_desc
                                                            (KolabTLSVariantID id);

### kolab_util_backend_koma_table_cleanup_cb ()

    void                kolab_util_backend_koma_table_cleanup_cb
                                                            (gpointer data,
                                                             GObject *object,
                                                             gboolean is_last_ref);

### kolab_util_backend_modtime_set_on_ecalcomp ()

    void                kolab_util_backend_modtime_set_on_ecalcomp
                                                            (ECalComponent *ecalcomp);

### kolab_util_backend_modtime_set_on_econtact ()

    void                kolab_util_backend_modtime_set_on_econtact
                                                            (EContact *econtact);

### kolab_util_backend_prepare_settings ()

    void                kolab_util_backend_prepare_settings (KolabSettingsHandler *ksettings,
                                                             ESource *esource,
                                                             const gchar *servername,
                                                             const gchar *username,
                                                             const gchar *password,
                                                             const gchar *sourcename,
                                                             const KolabSyncStrategyID *sync_value);

### kolab_util_backend_sourcename_new_from_foldername ()

    gchar *             kolab_util_backend_sourcename_new_from_foldername
                                                            (const gchar *foldername,
                                                             GError **err);

### kolab_util_backend_sqlite_db_new_open ()

    gboolean            kolab_util_backend_sqlite_db_new_open
                                                            (KolabUtilSqliteDb **kdb,
                                                             KolabSettingsHandler *ksettings,
                                                             const gchar *dbfilename,
                                                             GError **err);

### kolab_util_misc_req_pkcs11_from_property ()

    KolabReqPkcs11      kolab_util_misc_req_pkcs11_from_property
                                                            (const gchar *req_pkcs11_prop);

### kolab_util_misc_sync_value_from_property ()

    KolabSyncStrategyID kolab_util_misc_sync_value_from_property
                                                            (const gchar *sync_prop);

### kolab_util_misc_tls_variant_from_property ()

    KolabTLSVariantID   kolab_util_misc_tls_variant_from_property
                                                            (const gchar *tls_variant);