[evolution-kolab/ek-wip-porting-imapx: 10/12] CamelKolabImapxMetadataDb: build fixes, refactoring
- From: Christian Hilberg <chilberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-kolab/ek-wip-porting-imapx: 10/12] CamelKolabImapxMetadataDb: build fixes, refactoring
- Date: Wed, 30 Nov 2011 11:27:42 +0000 (UTC)
commit 8150a05ef556f50cfc35e41355a28d46efd7f001
Author: Christian Hilberg <hilberg kernelconcepts de>
Date: Wed Nov 30 12:04:14 2011 +0100
CamelKolabImapxMetadataDb: build fixes, refactoring
* renamed CamelKolabIMAPXMetaDataDb to CamelKolabImapxMetadataDb
(GObject-style casing, make it distinguishable from upstream
IMAPX classes)
* renamed all functions to the camel_kolab_imapx_metadata_db_*
scheme
* initialized all function vars
* replaced CamelException with GError
* reflect Camel API changes (CamelStore, CamelService)
* include the single Camel lib header (via our
Camel system header wrapper) instead of individual
Camel headers (the latter is not allowed any longer)
src/camel/camel-kolab-imapx-metadata-db.c | 269 +++++++++++++----------------
src/camel/camel-kolab-imapx-metadata-db.h | 26 ++--
2 files changed, 129 insertions(+), 166 deletions(-)
---
diff --git a/src/camel/camel-kolab-imapx-metadata-db.c b/src/camel/camel-kolab-imapx-metadata-db.c
index 9ef0a2f..8b523fc 100644
--- a/src/camel/camel-kolab-imapx-metadata-db.c
+++ b/src/camel/camel-kolab-imapx-metadata-db.c
@@ -66,7 +66,7 @@
typedef enum {
CAMEL_KOLAB_IMAPX_METADATA_TABLE_TYPE_PATHS,
CAMEL_KOLAB_IMAPX_METADATA_TABLE_TYPE_ENTRIES
-} CamelKolabIMAPXMetaDataTableType;
+} CamelKolabImapxMetadataTableType;
enum {
CAMEL_KOLAB_IMAPX_METADATA_TABLE_COL_FOLDERNAME = 0,
@@ -77,10 +77,10 @@ enum {
/*----------------------------------------------------------------------------*/
static sqlite3*
-kolab_db_open_trycreate (const gchar* path)
+camel_kolab_imapx_metadata_db_open_trycreate (const gchar *path)
{
- gint sql3_err;
- sqlite3 *db;
+ gint sql3_err = SQLITE_OK;
+ sqlite3 *db = NULL;
g_assert (path != NULL);
@@ -99,9 +99,12 @@ kolab_db_open_trycreate (const gchar* path)
}
static gint
-kolab_db_table_exists_cb (void *data, gint ncols, gchar **coltext, gchar **colname)
+camel_kolab_imapx_metadata_db_table_exists_cb (void *data,
+ gint ncols,
+ gchar **coltext,
+ gchar **colname)
{
- CamelKolabIMAPXMetaDataDB *mdb = (CamelKolabIMAPXMetaDataDB *)data;
+ CamelKolabImapxMetadataDb *mdb = (CamelKolabImapxMetadataDb *)data;
(void)ncols;
(void)coltext;
@@ -113,13 +116,13 @@ kolab_db_table_exists_cb (void *data, gint ncols, gchar **coltext, gchar **colna
}
static gboolean
-kolab_db_table_exists (CamelKolabIMAPXMetaDataDB *mdb,
- const gchar *name,
- gboolean *exists,
- GError **err)
+camel_kolab_imapx_metadata_db_table_exists (CamelKolabImapxMetadataDb *mdb,
+ const gchar *name,
+ gboolean *exists,
+ GError **err)
{
- gchar* sql_str;
- gint sql_errno;
+ gchar *sql_str = NULL;
+ gint sql_errno = SQLITE_OK;
g_assert (mdb != NULL);
g_assert (mdb->db != NULL);
@@ -134,7 +137,7 @@ kolab_db_table_exists (CamelKolabIMAPXMetaDataDB *mdb,
mdb->ctr = 0;
sql_errno = sqlite3_exec (mdb->db,
sql_str,
- kolab_db_table_exists_cb,
+ camel_kolab_imapx_metadata_db_table_exists_cb,
(void*)mdb,
NULL);
sqlite3_free (sql_str);
@@ -167,12 +170,12 @@ kolab_db_table_exists (CamelKolabIMAPXMetaDataDB *mdb,
}
static gboolean
-kolab_db_table_create (CamelKolabIMAPXMetaDataDB *mdb,
- const gchar *name,
- GError **err)
+camel_kolab_imapx_metadata_db_table_create (CamelKolabImapxMetadataDb *mdb,
+ const gchar *name,
+ GError **err)
{
gchar* sql_str = NULL;
- gint sql_errno;
+ gint sql_errno = SQLITE_OK;
g_assert (mdb != NULL);
g_assert (mdb->db != NULL);
@@ -180,7 +183,7 @@ kolab_db_table_create (CamelKolabIMAPXMetaDataDB *mdb,
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
/* primary key (1st column) is folder names,
- * rest of the row maps to CamelKolabFolderMetaData */
+ * rest of the row maps to CamelKolabImapxFolderMetadata */
sql_str = sqlite3_mprintf ("CREATE TABLE IF NOT EXISTS %Q ( %Q TEXT PRIMARY KEY, %Q INTEGER );",
name,
CAMEL_KOLAB_IMAPX_SQLITE_COL_FOLDERNAME,
@@ -203,11 +206,11 @@ kolab_db_table_create (CamelKolabIMAPXMetaDataDB *mdb,
/*----------------------------------------------------------------------------*/
-CamelKolabIMAPXMetaDataDB*
-kolab_imapx_meta_data_db_new (void)
+CamelKolabImapxMetadataDb*
+camel_kolab_imapx_metadata_db_new (void)
{
- CamelKolabIMAPXMetaDataDB *mdb;
- mdb = g_new0 (CamelKolabIMAPXMetaDataDB, 1);
+ CamelKolabImapxMetadataDb *mdb = NULL;
+ mdb = g_new0 (CamelKolabImapxMetadataDb, 1);
mdb->db = NULL;
mdb->path = NULL;
mdb->ctr = 0;
@@ -215,21 +218,21 @@ kolab_imapx_meta_data_db_new (void)
}
gboolean
-kolab_imapx_meta_data_db_free (CamelKolabIMAPXMetaDataDB *mdb,
- GError **err)
+camel_kolab_imapx_metadata_db_free (CamelKolabImapxMetadataDb *mdb,
+ GError **err)
{
- return kolab_imapx_meta_data_db_close (mdb, err);
+ return camel_kolab_imapx_metadata_db_close (mdb, err);
}
gboolean
-kolab_imapx_meta_data_db_open (CamelKolabIMAPXMetaDataDB *mdb,
- CamelService *service,
- CamelSession *session,
- GError **err)
+camel_kolab_imapx_metadata_db_open (CamelKolabImapxMetadataDb *mdb,
+ CamelService *service,
+ CamelSession *session,
+ GError **err)
{
- GError *tmp_err;
- gchar *store_db_path;
+ gchar *store_db_path = NULL;
+ const gchar *user_cache_dir = NULL;
sqlite3 *tmp_db;
g_assert (mdb != NULL);
@@ -240,70 +243,30 @@ kolab_imapx_meta_data_db_open (CamelKolabIMAPXMetaDataDB *mdb,
if (mdb->db != NULL)
return TRUE;
- /* inspired by construct() from camel-store.c */
+ user_cache_dir = camel_service_get_user_cache_dir (service);
+ if ((user_cache_dir == NULL) || (strlen (user_cache_dir) < 2)) {
+ g_set_error (err,
+ KOLAB_CAMEL_KOLAB_ERROR,
+ KOLAB_CAMEL_KOLAB_ERROR_DB,
+ "%s: could not get a valid cache directory path",
+ __func__);
+ return FALSE;
+ }
- store_db_path = g_build_filename (service->url->path,
+ store_db_path = g_build_filename (user_cache_dir,
CAMEL_KOLAB_IMAPX_METADATA_DB_FILE,
NULL);
- if (!service->url->path || strlen (store_db_path) < 2) {
- CamelException *ex;
- gchar *store_path;
-
- g_free (store_db_path);
- ex = camel_exception_new ();
- store_path = camel_session_get_storage_path (session,
- service,
- ex);
- store_db_path = g_build_filename (store_path,
- CAMEL_KOLAB_IMAPX_METADATA_DB_FILE,
- NULL);
- g_free (store_path);
-
- if (camel_exception_is_set (ex)) {
- g_free (store_db_path);
- tmp_err = kolab_gerror_new_from_camelexception (ex, KOLAB_CAMEL_KOLAB_ERROR);
- camel_exception_free (ex);
- g_propagate_error (err, tmp_err);
- return FALSE;
- }
- camel_exception_free (ex);
- }
-
- /* if store_db_path is still invalid, something's really hosed -
- * IMAPX should have taken care already via construct() in
- * camel-store.c (via camel-imapx-store.c)
- */
-
- tmp_db = kolab_db_open_trycreate (store_db_path);
+ tmp_db = camel_kolab_imapx_metadata_db_open_trycreate (store_db_path);
if (tmp_db == NULL) {
- gchar *store_path;
- gchar *store_db_path_prev;
-
- store_db_path_prev = store_db_path;
- store_path = camel_session_get_storage_path (session,
- service,
- NULL);
- store_db_path = g_build_filename (store_path,
- CAMEL_KOLAB_IMAPX_METADATA_DB_FILE,
- NULL);
- g_free (store_path);
-
- tmp_db = kolab_db_open_trycreate (store_db_path);
-
- if (tmp_db == NULL) {
- g_set_error (err,
- KOLAB_CAMEL_KOLAB_ERROR,
- KOLAB_CAMEL_KOLAB_ERROR_DB,
- "%s: could not open/create sqlite db for any of [%s] and [%s]",
- __func__, store_db_path_prev, store_db_path);
- g_free (store_db_path_prev);
- g_free (store_db_path);
- return FALSE;
- }
-
- g_free (store_db_path_prev);
+ g_set_error (err,
+ KOLAB_CAMEL_KOLAB_ERROR,
+ KOLAB_CAMEL_KOLAB_ERROR_DB,
+ "%s: could not open/create sqlite db for [%s]",
+ __func__, store_db_path);
+ g_free (store_db_path);
+ return FALSE;
}
mdb->db = tmp_db;
@@ -314,30 +277,31 @@ kolab_imapx_meta_data_db_open (CamelKolabIMAPXMetaDataDB *mdb,
}
gboolean
-kolab_imapx_meta_data_db_init (CamelKolabIMAPXMetaDataDB *mdb, GError **err)
+camel_kolab_imapx_metadata_db_init (CamelKolabImapxMetadataDb *mdb,
+ GError **err)
{
GError *tmp_err = NULL;
- gboolean sql_ok;
- gboolean exists;
+ gboolean sql_ok = SQLITE_OK;
+ gboolean exists = FALSE;
g_assert (mdb != NULL);
g_assert (mdb->db != NULL);
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
/* make sure paths table is there */
- sql_ok = kolab_db_table_exists (mdb,
- CAMEL_KOLAB_IMAPX_SQLITE_DB_TBL_FOLDERS,
- &exists,
- &tmp_err);
+ sql_ok = camel_kolab_imapx_metadata_db_table_exists (mdb,
+ CAMEL_KOLAB_IMAPX_SQLITE_DB_TBL_FOLDERS,
+ &exists,
+ &tmp_err);
if (!sql_ok) {
g_propagate_error (err, tmp_err);
return FALSE;
}
if (!exists)
- sql_ok = kolab_db_table_create (mdb,
- CAMEL_KOLAB_IMAPX_SQLITE_DB_TBL_FOLDERS,
- &tmp_err);
+ sql_ok = camel_kolab_imapx_metadata_db_table_create (mdb,
+ CAMEL_KOLAB_IMAPX_SQLITE_DB_TBL_FOLDERS,
+ &tmp_err);
if (!sql_ok) {
g_propagate_error (err, tmp_err);
return FALSE;
@@ -347,7 +311,8 @@ kolab_imapx_meta_data_db_init (CamelKolabIMAPXMetaDataDB *mdb, GError **err)
}
gboolean
-kolab_imapx_meta_data_db_close (CamelKolabIMAPXMetaDataDB *mdb, GError **err)
+camel_kolab_imapx_metadata_db_close (CamelKolabImapxMetadataDb *mdb,
+ GError **err)
{
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
@@ -357,10 +322,10 @@ kolab_imapx_meta_data_db_close (CamelKolabIMAPXMetaDataDB *mdb, GError **err)
if (mdb->db) {
if (sqlite3_close (mdb->db) != SQLITE_OK) {
g_set_error (err,
- KOLAB_CAMEL_KOLAB_ERROR,
- KOLAB_CAMEL_KOLAB_ERROR_DB,
- "%s: %s",
- __func__, sqlite3_errmsg (mdb->db));
+ KOLAB_CAMEL_KOLAB_ERROR,
+ KOLAB_CAMEL_KOLAB_ERROR_DB,
+ "%s: %s",
+ __func__, sqlite3_errmsg (mdb->db));
return FALSE;
}
}
@@ -373,32 +338,32 @@ kolab_imapx_meta_data_db_close (CamelKolabIMAPXMetaDataDB *mdb, GError **err)
}
gboolean
-kolab_imapx_meta_data_db_folder_update (CamelKolabIMAPXMetaDataDB *mdb,
- const gchar *folder_name,
- const CamelKolabFolderMetaData *kfmd,
- GError **err)
+camel_kolab_imapx_metadata_db_folder_update (CamelKolabImapxMetadataDb *mdb,
+ const gchar *foldername,
+ const CamelKolabImapxFolderMetadata *kfmd,
+ GError **err)
{
- gchar *sql_str;
- gint sql_errno;
+ gchar *sql_str = NULL;
+ gint sql_errno = SQLITE_OK;
g_assert (mdb != NULL);
g_assert (mdb->db != NULL);
- g_assert (folder_name != NULL);
+ g_assert (foldername != NULL);
g_assert (kfmd != NULL);
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
sql_str = sqlite3_mprintf ("INSERT OR REPLACE INTO %Q VALUES ( %Q, %i );",
CAMEL_KOLAB_IMAPX_SQLITE_DB_TBL_FOLDERS,
- folder_name,
+ foldername,
kfmd->folder_type);
sql_errno = sqlite3_exec (mdb->db, sql_str, NULL, NULL, NULL);
sqlite3_free (sql_str);
if (sql_errno != SQLITE_OK) {
g_set_error (err,
- KOLAB_CAMEL_KOLAB_ERROR,
- KOLAB_CAMEL_KOLAB_ERROR_DB,
- "%s: %s",
+ KOLAB_CAMEL_KOLAB_ERROR,
+ KOLAB_CAMEL_KOLAB_ERROR_DB,
+ "%s: %s",
__func__, sqlite3_errmsg (mdb->db));
return FALSE;
}
@@ -407,21 +372,21 @@ kolab_imapx_meta_data_db_folder_update (CamelKolabIMAPXMetaDataDB *mdb,
}
gboolean
-kolab_imapx_meta_data_db_update (CamelKolabIMAPXMetaDataDB *mdb,
- GHashTable *kolab_metadata,
- GError **err)
+camel_kolab_imapx_metadata_db_update (CamelKolabImapxMetadataDb *mdb,
+ GHashTable *kolab_metadata,
+ GError **err)
{
/* TODO extend this to true 'update' or
* create a separate db cleansing function
*/
GError *tmp_err = NULL;
+ gpointer kmd_key = NULL;
+ gpointer kmd_value = NULL;
+ gchar *folder_name = NULL;
+ CamelKolabImapxFolderMetadata *kfmd = NULL;
+ gboolean row_ok = FALSE;
GHashTableIter kmd_iter;
- gpointer kmd_key;
- gpointer kmd_value;
- gchar *folder_name;
- CamelKolabFolderMetaData *kfmd;
- gboolean row_ok;
g_assert (mdb != NULL);
g_assert (mdb->db != NULL);
@@ -433,11 +398,11 @@ kolab_imapx_meta_data_db_update (CamelKolabIMAPXMetaDataDB *mdb,
g_hash_table_iter_init (&kmd_iter, kolab_metadata);
while (g_hash_table_iter_next (&kmd_iter, &kmd_key, &kmd_value)) {
folder_name = (gchar*) kmd_key;
- kfmd = (CamelKolabFolderMetaData *) kmd_value;
- row_ok = kolab_imapx_meta_data_db_folder_update (mdb,
- folder_name,
- kfmd,
- &tmp_err);
+ kfmd = (CamelKolabImapxFolderMetadata *) kmd_value;
+ row_ok = camel_kolab_imapx_metadata_db_folder_update (mdb,
+ folder_name,
+ kfmd,
+ &tmp_err);
if (!row_ok) {
g_propagate_error (err, tmp_err);
return FALSE;
@@ -447,25 +412,25 @@ kolab_imapx_meta_data_db_update (CamelKolabIMAPXMetaDataDB *mdb,
return TRUE;
}
-CamelKolabFolderMetaData*
-kolab_imapx_meta_data_db_lookup (CamelKolabIMAPXMetaDataDB *mdb,
- const gchar *folder_name,
- GError **err)
+CamelKolabImapxFolderMetadata*
+camel_kolab_imapx_metadata_db_lookup (CamelKolabImapxMetadataDb *mdb,
+ const gchar *foldername,
+ GError **err)
{
- CamelKolabFolderMetaData *kfmd;
- gchar *sql_str;
- gint sql_errno;
- sqlite3_stmt *sql_stmt;
+ CamelKolabImapxFolderMetadata *kfmd = NULL;
+ gchar *sql_str = NULL;
+ gint sql_errno = SQLITE_OK;
+ sqlite3_stmt *sql_stmt = NULL;
g_assert (mdb != NULL);
g_assert (mdb->db != NULL);
- g_assert (folder_name != NULL);
+ g_assert (foldername != NULL);
g_return_val_if_fail (err == NULL || *err == NULL, NULL);
sql_str = sqlite3_mprintf ("SELECT * FROM %Q WHERE %q=%Q;",
CAMEL_KOLAB_IMAPX_SQLITE_DB_TBL_FOLDERS,
CAMEL_KOLAB_IMAPX_SQLITE_COL_FOLDERNAME,
- folder_name);
+ foldername);
sql_errno = sqlite3_prepare_v2 (mdb->db, sql_str, -1, &sql_stmt, NULL);
g_assert ((sql_errno == SQLITE_OK) && (sql_stmt != NULL));
@@ -474,17 +439,17 @@ kolab_imapx_meta_data_db_lookup (CamelKolabIMAPXMetaDataDB *mdb,
if (sql_errno != SQLITE_ROW) {
if (sql_errno != SQLITE_DONE) {
g_set_error (err,
- KOLAB_CAMEL_KOLAB_ERROR,
- KOLAB_CAMEL_KOLAB_ERROR_DB,
- "%s: %s",
- __func__, sqlite3_errmsg (mdb->db));
+ KOLAB_CAMEL_KOLAB_ERROR,
+ KOLAB_CAMEL_KOLAB_ERROR_DB,
+ "%s: %s",
+ __func__, sqlite3_errmsg (mdb->db));
}
sql_errno = sqlite3_finalize (sql_stmt);
sqlite3_free (sql_str);
return NULL;
}
- kfmd = kolab_folder_meta_data_new ();
+ kfmd = camel_kolab_imapx_folder_metadata_new ();
kfmd->folder_type = sqlite3_column_int (sql_stmt,
CAMEL_KOLAB_IMAPX_METADATA_TABLE_COL_FOLDERTYPE);
@@ -496,7 +461,7 @@ kolab_imapx_meta_data_db_lookup (CamelKolabIMAPXMetaDataDB *mdb,
KOLAB_CAMEL_KOLAB_ERROR_DB,
"%s: %s",
__func__, sqlite3_errmsg (mdb->db));
- kolab_folder_meta_data_free (kfmd);
+ camel_kolab_imapx_folder_metadata_free (kfmd);
return NULL;
}
@@ -504,22 +469,22 @@ kolab_imapx_meta_data_db_lookup (CamelKolabIMAPXMetaDataDB *mdb,
}
gboolean
-kolab_imapx_meta_data_db_remove_folder (CamelKolabIMAPXMetaDataDB *mdb,
- const gchar *folder_name,
- GError **err)
+camel_kolab_imapx_metadata_db_remove_folder (CamelKolabImapxMetadataDb *mdb,
+ const gchar *foldername,
+ GError **err)
{
gchar *sql_str;
gint sql_errno;
g_assert (mdb != NULL);
g_assert (mdb->db != NULL);
- g_assert (folder_name != NULL);
+ g_assert (foldername != NULL);
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
sql_str = sqlite3_mprintf ("DELETE FROM %Q WHERE %q=%Q;",
CAMEL_KOLAB_IMAPX_SQLITE_DB_TBL_FOLDERS,
CAMEL_KOLAB_IMAPX_SQLITE_COL_FOLDERNAME,
- folder_name);
+ foldername);
sql_errno = sqlite3_exec (mdb->db, sql_str, NULL, NULL, NULL);
sqlite3_free (sql_str);
@@ -537,9 +502,9 @@ kolab_imapx_meta_data_db_remove_folder (CamelKolabIMAPXMetaDataDB *mdb,
if (sql_errno != SQLITE_OK) {
g_set_error (err,
- KOLAB_CAMEL_KOLAB_ERROR,
- KOLAB_CAMEL_KOLAB_ERROR_DB,
- "%s: %s",
+ KOLAB_CAMEL_KOLAB_ERROR,
+ KOLAB_CAMEL_KOLAB_ERROR_DB,
+ "%s: %s",
__func__, sqlite3_errmsg (mdb->db));
return FALSE;
}
diff --git a/src/camel/camel-kolab-imapx-metadata-db.h b/src/camel/camel-kolab-imapx-metadata-db.h
index f148bd2..278064d 100644
--- a/src/camel/camel-kolab-imapx-metadata-db.h
+++ b/src/camel/camel-kolab-imapx-metadata-db.h
@@ -36,30 +36,28 @@
#include <camel/camel.h>
#include <camel/providers/imapx/camel-imapx-metadata.h>
-/*----------------------------------------------------------------------------*/
-
-struct _CamelKolabFolderMetaData;
+#include "camel-kolab-imapx-folder.h"
/*----------------------------------------------------------------------------*/
-typedef struct _CamelKolabIMAPXMetaDataDB {
+typedef struct _CamelKolabImapxMetadataDb {
sqlite3 *db; /* sqlite3 DB handle */
gchar *path; /* path to the sqlite3 metadata db file */
gint ctr; /* aux counter, usable with callback functions */
-} CamelKolabIMAPXMetaDataDB;
+} CamelKolabImapxMetadataDb;
/*----------------------------------------------------------------------------*/
-CamelKolabIMAPXMetaDataDB *kolab_imapx_meta_data_db_new (void);
-gboolean kolab_imapx_meta_data_db_free (CamelKolabIMAPXMetaDataDB*, GError**);
-gboolean kolab_imapx_meta_data_db_open (CamelKolabIMAPXMetaDataDB*, CamelService*, CamelSession*, GError**);
-gboolean kolab_imapx_meta_data_db_init (CamelKolabIMAPXMetaDataDB*, GError**);
-gboolean kolab_imapx_meta_data_db_close (CamelKolabIMAPXMetaDataDB*, GError**);
+CamelKolabImapxMetadataDb *camel_kolab_imapx_metadata_db_new (void);
+gboolean camel_kolab_imapx_metadata_db_free (CamelKolabImapxMetadataDb *mdb, GError **err);
+gboolean camel_kolab_imapx_metadata_db_open (CamelKolabImapxMetadataDb *mdb, CamelService *service, CamelSession *session, GError **err);
+gboolean camel_kolab_imapx_metadata_db_init (CamelKolabImapxMetadataDb *mdb, GError **err);
+gboolean camel_kolab_imapx_metadata_db_close (CamelKolabImapxMetadataDb *mdb, GError **err);
-gboolean kolab_imapx_meta_data_db_folder_update (CamelKolabIMAPXMetaDataDB*, const gchar*, const struct _CamelKolabFolderMetaData*, GError**);
-gboolean kolab_imapx_meta_data_db_update (CamelKolabIMAPXMetaDataDB*, GHashTable*, GError**);
-struct _CamelKolabFolderMetaData *kolab_imapx_meta_data_db_lookup (CamelKolabIMAPXMetaDataDB*, const gchar*, GError**);
-gboolean kolab_imapx_meta_data_db_remove_folder (CamelKolabIMAPXMetaDataDB*, const gchar*, GError**);
+gboolean camel_kolab_imapx_metadata_db_folder_update (CamelKolabImapxMetadataDb *mdb, const gchar *foldername, const CamelKolabImapxFolderMetadata *kfmd, GError **err);
+gboolean camel_kolab_imapx_metadata_db_update (CamelKolabImapxMetadataDb *mdb, GHashTable *kolab_metadata, GError **err);
+CamelKolabImapxFolderMetadata *camel_kolab_imapx_metadata_db_lookup (CamelKolabImapxMetadataDb *mdb, const gchar *foldername, GError **err);
+gboolean camel_kolab_imapx_metadata_db_remove_folder (CamelKolabImapxMetadataDb *mdb, const gchar *foldername, GError **err);
/*----------------------------------------------------------------------------*/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]