[evolution-exchange] Adapt to Camel API changes.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-exchange] Adapt to Camel API changes.
- Date: Fri, 30 Apr 2010 17:00:54 +0000 (UTC)
commit 65ccb590db734e7b802880a55ce5333427f43cbd
Author: Matthew Barnes <mbarnes redhat com>
Date: Thu Apr 29 23:36:03 2010 -0400
Adapt to Camel API changes.
camel/camel-exchange-folder.c | 29 ++++++++++++++---------------
camel/camel-exchange-folder.h | 4 ++--
camel/camel-exchange-store.c | 16 +++++++++++++---
3 files changed, 29 insertions(+), 20 deletions(-)
---
diff --git a/camel/camel-exchange-folder.c b/camel/camel-exchange-folder.c
index 636faa6..19866f7 100644
--- a/camel/camel-exchange-folder.c
+++ b/camel/camel-exchange-folder.c
@@ -1020,26 +1020,25 @@ camel_exchange_folder_update_message_tag (CamelExchangeFolder *exch,
* Return value: success or failure.
**/
gboolean
-camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
- const gchar *name, guint32 camel_flags,
+camel_exchange_folder_construct (CamelFolder *folder,
+ guint32 camel_flags,
const gchar *folder_dir,
gint offline_state,
CamelException *ex)
{
CamelExchangeFolder *exch = (CamelExchangeFolder *)folder;
- const gchar *short_name;
gchar *summary_file, *journal_file, *path;
GPtrArray *summary, *uids, *hrefs;
GByteArray *flags;
guint32 folder_flags;
CamelMessageInfo *info;
CamelExchangeMessageInfo *einfo;
+ CamelStore *parent_store;
+ const gchar *full_name;
gint i, len = 0;
- short_name = strrchr (name, '/');
- if (!short_name++)
- short_name = name;
- camel_folder_construct (folder, parent, name, short_name);
+ full_name = camel_folder_get_full_name (folder);
+ parent_store = camel_folder_get_parent_store (folder);
if (g_mkdir_with_parents (folder_dir, S_IRWXU) != 0) {
camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
@@ -1054,7 +1053,7 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
if (!folder->summary) {
camel_exception_setv (
ex, CAMEL_EXCEPTION_SYSTEM,
- _("Could not load summary for %s"), name);
+ _("Could not load summary for %s"), full_name);
return FALSE;
}
@@ -1062,7 +1061,7 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
if (!exch->cache) {
camel_exception_setv (
ex, CAMEL_EXCEPTION_SYSTEM,
- _("Could not create cache for %s"), name);
+ _("Could not create cache for %s"), full_name);
return FALSE;
}
@@ -1072,12 +1071,12 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
if (!exch->journal) {
camel_exception_setv (
ex, CAMEL_EXCEPTION_SYSTEM,
- _("Could not create journal for %s"), name);
+ _("Could not create journal for %s"), full_name);
return FALSE;
}
path = g_build_filename (folder_dir, "cmeta", NULL);
- camel_object_set (folder, NULL, CAMEL_OBJECT_STATE_FILE, path, NULL);
+ camel_object_set_state_filename (CAMEL_OBJECT (folder), path);
g_free (path);
camel_object_state_read (CAMEL_OBJECT (folder));
@@ -1098,7 +1097,7 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
camel_message_info_free(info);
}
- if (parent != NULL) {
+ if (parent_store != NULL) {
gboolean ok, create = camel_flags & CAMEL_STORE_FOLDER_CREATE, readonly = FALSE;
camel_folder_summary_prepare_fetch_all (folder->summary, ex);
@@ -1121,8 +1120,8 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
camel_operation_start (NULL, _("Scanning for changed messages"));
ok = camel_exchange_utils_get_folder (
- CAMEL_SERVICE (parent),
- name, create, uids, flags, hrefs,
+ CAMEL_SERVICE (parent_store),
+ full_name, create, uids, flags, hrefs,
CAMEL_EXCHANGE_SUMMARY (folder->summary)->high_article_num,
&folder_flags, &exch->source, &readonly, ex);
camel_operation_end (NULL);
@@ -1148,7 +1147,7 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
camel_operation_start (NULL, _("Fetching summary information for new messages"));
ok = camel_exchange_utils_refresh_folder (
- CAMEL_SERVICE (parent), name, ex);
+ CAMEL_SERVICE (parent_store), full_name, ex);
camel_operation_end (NULL);
if (!ok)
return FALSE;
diff --git a/camel/camel-exchange-folder.h b/camel/camel-exchange-folder.h
index ed688b5..8e77485 100644
--- a/camel/camel-exchange-folder.h
+++ b/camel/camel-exchange-folder.h
@@ -48,8 +48,8 @@ struct _CamelExchangeFolderClass {
GType camel_exchange_folder_get_type (void);
-gboolean camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
- const gchar *name, guint32 camel_flags,
+gboolean camel_exchange_folder_construct (CamelFolder *folder,
+ guint32 camel_flags,
const gchar *folder_dir,
gint offline_state,
CamelException *ex);
diff --git a/camel/camel-exchange-store.c b/camel/camel-exchange-store.c
index 6c25048..5b98e18 100644
--- a/camel/camel-exchange-store.c
+++ b/camel/camel-exchange-store.c
@@ -423,6 +423,7 @@ exchange_store_get_folder (CamelStore *store,
{
CamelExchangeStore *exch = CAMEL_EXCHANGE_STORE (store);
CamelFolder *folder;
+ const gchar *short_name;
gchar *folder_dir;
RETURN_VAL_IF_NOT_CONNECTED (exch, ex, NULL);
@@ -454,12 +455,21 @@ exchange_store_get_folder (CamelStore *store,
return folder;
}
- folder = g_object_new (CAMEL_TYPE_EXCHANGE_FOLDER, NULL);
+ short_name = strrchr (folder_name, '/');
+ if (!short_name++)
+ short_name = folder_name;
+
+ folder = g_object_new (
+ CAMEL_TYPE_EXCHANGE_FOLDER,
+ "name", short_name, "full-name", folder_name,
+ "parent-store", store, NULL);
g_hash_table_insert (exch->folders, g_strdup (folder_name), folder);
g_mutex_unlock (exch->folders_lock);
- if (!camel_exchange_folder_construct (folder, store, folder_name,
- flags, folder_dir, ((CamelOfflineStore *) store)->state, ex)) {
+ if (!camel_exchange_folder_construct (
+ folder, flags, folder_dir,
+ ((CamelOfflineStore *) store)->state, ex)) {
+
gchar *key;
g_mutex_lock (exch->folders_lock);
if (g_hash_table_lookup_extended (exch->folders, folder_name,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]