[evolution-kolab] KolabMailImapClient: get EBackend instance from KolabSettingsHandler
- From: Christian Hilberg <chilberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-kolab] KolabMailImapClient: get EBackend instance from KolabSettingsHandler
- Date: Fri, 26 Oct 2012 18:16:18 +0000 (UTC)
commit d66f9cc1f6f7f680c8cc75d433b243276b4463b4
Author: Christian Hilberg <hilberg kernelconcepts de>
Date: Fri Oct 26 20:12:57 2012 +0200
KolabMailImapClient: get EBackend instance from KolabSettingsHandler
* instead of requiring an EBackend instance in
configure(), get it from the settings handler,
which holds a ref on the backend now
* adjusted API of KolabMailAccess and its callers
src/addressbook/e-book-backend-kolab.c | 1 -
src/calendar/e-cal-backend-kolab.c | 1 -
src/collection/e-kolab-backend.c | 2 +-
src/libekolab/kolab-mail-access.c | 36 +++++++++-----------
src/libekolab/kolab-mail-access.h | 1 -
src/libekolab/kolab-mail-imap-client.c | 4 +-
src/libekolab/kolab-mail-imap-client.h | 1 -
.../integration/libekolab/test-kolab-mail-access.c | 1 -
8 files changed, 19 insertions(+), 28 deletions(-)
---
diff --git a/src/addressbook/e-book-backend-kolab.c b/src/addressbook/e-book-backend-kolab.c
index 1fd239f..defa727 100644
--- a/src/addressbook/e-book-backend-kolab.c
+++ b/src/addressbook/e-book-backend-kolab.c
@@ -313,7 +313,6 @@ book_backend_kolab_open (EBookBackendSync *backend,
/* configure and bring up KolabMailAccess instance */
ok = kolab_mail_access_configure (priv->book_koma,
- E_BACKEND (backend),
ksettings,
&tmp_err);
if (! ok)
diff --git a/src/calendar/e-cal-backend-kolab.c b/src/calendar/e-cal-backend-kolab.c
index 19bd4d1..a42449f 100644
--- a/src/calendar/e-cal-backend-kolab.c
+++ b/src/calendar/e-cal-backend-kolab.c
@@ -374,7 +374,6 @@ cal_backend_kolab_open (ECalBackendSync *backend,
/* configure and bring up KolabMailAccess instance */
ok = kolab_mail_access_configure (priv->cal_koma,
- E_BACKEND (backend),
ksettings,
&tmp_err);
if (! ok)
diff --git a/src/collection/e-kolab-backend.c b/src/collection/e-kolab-backend.c
index bca0337..1e842ba 100644
--- a/src/collection/e-kolab-backend.c
+++ b/src/collection/e-kolab-backend.c
@@ -505,7 +505,7 @@ e_kolab_backend_ref_mail_access_sync (EKolabBackend *backend,
koma = g_object_new (KOLAB_TYPE_MAIL_ACCESS, NULL);
success = kolab_mail_access_configure (
- koma, E_BACKEND (backend), settings_handler, error);
+ koma, settings_handler, error);
if (!success) {
g_object_unref (settings_handler);
g_object_unref (koma);
diff --git a/src/libekolab/kolab-mail-access.c b/src/libekolab/kolab-mail-access.c
index ce2b490..b8772cf 100644
--- a/src/libekolab/kolab-mail-access.c
+++ b/src/libekolab/kolab-mail-access.c
@@ -255,7 +255,7 @@ mail_access_foldername_new_from_sourcename (KolabMailAccess *self,
if (! check_exists)
goto done;
-
+
/* foldername may exist in KolabMailSideCache only */
exists = kolab_mail_info_db_exists_foldername (priv->infodb,
sourcename,
@@ -275,7 +275,7 @@ mail_access_foldername_new_from_sourcename (KolabMailAccess *self,
}
done:
-
+
return g_strdup (sourcename);
}
@@ -667,7 +667,7 @@ mail_access_local_store (KolabMailAccess *self,
}
handle_skip:
-
+
/* online store operation */
if (do_store && (! offline_fail) && (priv->state->opmode == KOLAB_MAIL_ACCESS_OPMODE_ONLINE)) {
@@ -706,7 +706,7 @@ mail_access_local_store (KolabMailAccess *self,
*/
goto done;
}
-
+
}
/* set handle incomplete */
@@ -800,7 +800,7 @@ mail_access_local_delete (KolabMailAccess *self,
*/
if (kmailhandle == NULL) {
do_del = TRUE;
- foldername_del = g_strdup (foldername);
+ foldername_del = g_strdup (foldername);
location = KOLAB_OBJECT_CACHE_LOCATION_IMAP; /* verified by a preceeding online query */
goto handle_skip;
}
@@ -813,7 +813,7 @@ mail_access_local_delete (KolabMailAccess *self,
g_propagate_error (err, tmp_err);
return FALSE;
}
-
+
/* get handle details */
uid = kolab_mail_handle_get_uid (kmailhandle);
location = kolab_mail_handle_get_cache_location (kmailhandle);
@@ -828,7 +828,7 @@ mail_access_local_delete (KolabMailAccess *self,
g_free (foldername_del);
return FALSE;
}
-
+
/* TODO can we switch from full summaries table to simple UID list here ? */
imap_summaries = kolab_mail_imap_client_query_summaries (priv->client,
foldername,
@@ -840,7 +840,7 @@ mail_access_local_delete (KolabMailAccess *self,
g_propagate_error (err, tmp_err);
return FALSE;
}
-
+
/* delete transaction preparation */
do_del = kolab_mail_synchronizer_transaction_prepare (priv->synchronizer,
priv->state->opmode,
@@ -879,7 +879,7 @@ mail_access_local_delete (KolabMailAccess *self,
}
handle_skip:
-
+
if (do_del) {
/* online delete operation */
if ((location & KOLAB_OBJECT_CACHE_LOCATION_IMAP) &&
@@ -912,7 +912,7 @@ mail_access_local_delete (KolabMailAccess *self,
foldername_del,
cancellable,
&tmp_err);
-
+
/* TODO check whether we need to update DBs and friends
* (most probably no point, since the backend for
* the folder will be removed and the cache reaper
@@ -938,7 +938,7 @@ mail_access_local_delete (KolabMailAccess *self,
online_ok = FALSE;
}
}
-
+
/* offline delete operation (not done if online operation failed before,
* skipped for folders)
*/
@@ -990,7 +990,7 @@ mail_access_local_delete (KolabMailAccess *self,
record,
&tmp_err);
done:
-
+
kolab_mail_info_db_record_free (record);
if (foldername_del != NULL)
@@ -1032,7 +1032,7 @@ mail_access_sync_with_server (KolabMailAccess *self,
if (synced)
return TRUE;
}
-
+
/* sync folder / object info */
ok = kolab_mail_synchronizer_info_sync (priv->synchronizer,
opmode,
@@ -1649,7 +1649,6 @@ mail_access_get_strans_func (KolabMailAccess *self,
/**
* kolab_mail_access_configure:
* @self: a #KolabMailAccess instance
- * @backend: an #EBackend
* @ksettings: an already-configured #KolabSettingsHandler instance
* @err: a #GError object (or NULL)
*
@@ -1668,7 +1667,6 @@ mail_access_get_strans_func (KolabMailAccess *self,
*/
gboolean
kolab_mail_access_configure (KolabMailAccess *self,
- EBackend *backend,
KolabSettingsHandler *ksettings,
GError **err)
{
@@ -1681,7 +1679,6 @@ kolab_mail_access_configure (KolabMailAccess *self,
GError *tmp_err = NULL;
g_assert (KOLAB_IS_MAIL_ACCESS (self));
- g_assert (E_IS_BACKEND (backend));
g_assert (KOLAB_IS_SETTINGS_HANDLER (ksettings));
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
@@ -1720,7 +1717,6 @@ kolab_mail_access_configure (KolabMailAccess *self,
goto exit;
ok = kolab_mail_imap_client_configure (priv->client,
- backend,
priv->ksettings,
priv->mimebuilder,
&tmp_err);
@@ -2041,7 +2037,7 @@ kolab_mail_access_password_set_visible (KolabMailAccess *self,
KolabMailAccessPrivate *priv = NULL;
gchar *passwd = NULL;
GError *tmp_err = NULL;
-
+
g_assert (KOLAB_IS_MAIL_ACCESS (self));
priv = KOLAB_MAIL_ACCESS_PRIVATE (self);
@@ -2061,7 +2057,7 @@ kolab_mail_access_password_set_visible (KolabMailAccess *self,
__func__, __LINE__, tmp_err->message);
g_error_free (tmp_err);
}
-
+
g_mutex_unlock (&(priv->big_lock));
}
@@ -2224,7 +2220,7 @@ kolab_mail_access_query_changed_uids (KolabMailAccess *self,
goto exit;
sync_skip:
-
+
ok = mail_access_update_handles_from_infodb (self,
foldername,
sexp,
diff --git a/src/libekolab/kolab-mail-access.h b/src/libekolab/kolab-mail-access.h
index 8c0a62f..174bbe9 100644
--- a/src/libekolab/kolab-mail-access.h
+++ b/src/libekolab/kolab-mail-access.h
@@ -138,7 +138,6 @@ kolab_mail_access_get_type (void) G_GNUC_CONST;
gboolean
kolab_mail_access_configure (KolabMailAccess *self,
- EBackend *backend,
KolabSettingsHandler *ksettings,
GError **err);
diff --git a/src/libekolab/kolab-mail-imap-client.c b/src/libekolab/kolab-mail-imap-client.c
index a97a26e..e2a9af7 100644
--- a/src/libekolab/kolab-mail-imap-client.c
+++ b/src/libekolab/kolab-mail-imap-client.c
@@ -1035,19 +1035,18 @@ mail_imap_client_store (KolabMailImapClient *self,
gboolean
kolab_mail_imap_client_configure (KolabMailImapClient *self,
- EBackend *backend,
KolabSettingsHandler *ksettings,
KolabMailMimeBuilder *mimebuilder,
GError **err)
{
KolabMailImapClientPrivate *priv = NULL;
+ EBackend *backend = NULL;
/* const gchar *tmp_str = NULL; */
const gchar *data_dir = NULL;
const gchar *cache_dir = NULL;
GError *tmp_err = NULL;
g_assert (KOLAB_IS_MAIL_IMAP_CLIENT (self));
- g_assert (E_IS_BACKEND (backend));
g_assert (KOLAB_IS_SETTINGS_HANDLER (ksettings));
g_assert (KOLAB_IS_MAIL_MIME_BUILDER (mimebuilder));
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
@@ -1102,6 +1101,7 @@ kolab_mail_imap_client_configure (KolabMailImapClient *self,
}
/* create session object */
+ backend = kolab_settings_handler_get_e_backend (priv->ksettings);
priv->session = camel_kolab_session_new (backend, data_dir, cache_dir);
/* set to offline state first */
diff --git a/src/libekolab/kolab-mail-imap-client.h b/src/libekolab/kolab-mail-imap-client.h
index 64bd33e..c26b13a 100644
--- a/src/libekolab/kolab-mail-imap-client.h
+++ b/src/libekolab/kolab-mail-imap-client.h
@@ -106,7 +106,6 @@ kolab_mail_imap_client_get_type (void) G_GNUC_CONST;
gboolean
kolab_mail_imap_client_configure (KolabMailImapClient *self,
- EBackend *backend,
KolabSettingsHandler *ksettings,
KolabMailMimeBuilder *mimebuilder,
GError **err);
diff --git a/src/tests/integration/libekolab/test-kolab-mail-access.c b/src/tests/integration/libekolab/test-kolab-mail-access.c
index be0ea05..f4afd27 100644
--- a/src/tests/integration/libekolab/test-kolab-mail-access.c
+++ b/src/tests/integration/libekolab/test-kolab-mail-access.c
@@ -474,7 +474,6 @@ test_kolab_mail_access (KolabFolderContextID context)
/* configure mail access subsystem */
ok = kolab_mail_access_configure (kmailaccess,
- backend,
ksettings,
&tmp_err);
if (! ok)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]