aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder-pt-proxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-folder-pt-proxy.c')
-rw-r--r--camel/camel-folder-pt-proxy.c130
1 files changed, 60 insertions, 70 deletions
diff --git a/camel/camel-folder-pt-proxy.c b/camel/camel-folder-pt-proxy.c
index b9a143abb2..83f7af3b93 100644
--- a/camel/camel-folder-pt-proxy.c
+++ b/camel/camel-folder-pt-proxy.c
@@ -56,20 +56,24 @@ static CamelFuncDef _camel_func_def [CAMEL_FOLDER__LAST_FUNC];
static void _init_with_store (CamelFolder *folder,
CamelStore *parent_store,
CamelException *ex);
+static void _open_async (CamelFolder *folder,
+ CamelFolderOpenMode mode,
+ CamelFolderAsyncCallback callback,
+ gpointer user_data,
+ CamelException *ex);
+static void _close_async (CamelFolder *folder,
+ gboolean expunge,
+ CamelFolderAsyncCallback callback,
+ gpointer user_data,
+ CamelException *ex);
static void _open (CamelFolder *folder,
CamelFolderOpenMode mode,
- CamelFolderAsyncCallback callback,
- gpointer user_data,
CamelException *ex);
static void _close (CamelFolder *folder,
gboolean expunge,
- CamelFolderAsyncCallback callback,
- gpointer user_data,
CamelException *ex);
static void _set_name (CamelFolder *folder,
const gchar *name,
- CamelFolderAsyncCallback callback,
- gpointer user_data,
CamelException *ex);
static const gchar *_get_name (CamelFolder *folder, CamelException *ex);
@@ -78,7 +82,7 @@ static gboolean _can_hold_folders (CamelFolder *folder, CamelException *ex);
static gboolean _can_hold_messages(CamelFolder *folder, CamelException *ex);
static gboolean _exists (CamelFolder *folder, CamelException *ex);
static gboolean _is_open (CamelFolder *folder, CamelException *ex);
-static CamelFolder *_get_folder (CamelFolder *folder, const gchar *folder_name, CamelException *ex);
+static CamelFolder *_get_subfolder (CamelFolder *folder, const gchar *folder_name, CamelException *ex);
static gboolean _create (CamelFolder *folder, CamelException *ex);
static gboolean _delete (CamelFolder *folder, gboolean recurse, CamelException *ex);
static gboolean _delete_messages (CamelFolder *folder, CamelException *ex);
@@ -87,7 +91,7 @@ static CamelStore *_get_parent_store (CamelFolder *folder, CamelException *ex);
static CamelFolderOpenMode _get_mode (CamelFolder *folder, CamelException *ex);
static GList *_list_subfolders (CamelFolder *folder, CamelException *ex);
static void _expunge (CamelFolder *folder, CamelException *ex);
-static CamelMimeMessage *_get_message (CamelFolder *folder, gint number, CamelException *ex);
+static CamelMimeMessage *_get_message_by_number (CamelFolder *folder, gint number, CamelException *ex);
static gint _get_message_count (CamelFolder *folder, CamelException *ex);
static gint _append_message (CamelFolder *folder, CamelMimeMessage *message, CamelException *ex);
static const GList *_list_permanent_flags (CamelFolder *folder, CamelException *ex);
@@ -113,13 +117,15 @@ camel_folder_pt_proxy_class_init (CamelFolderPtProxyClass *camel_folder_pt_proxy
camel_folder_class->init_with_store = _init_with_store;
camel_folder_class->open = _open;
camel_folder_class->close = _close;
+ camel_folder_class->open_async = _open_async;
+ camel_folder_class->close_async = _close_async;
camel_folder_class->set_name = _set_name;
camel_folder_class->get_name = _get_name;
camel_folder_class->can_hold_folders = _can_hold_folders;
camel_folder_class->can_hold_messages = _can_hold_messages;
camel_folder_class->exists = _exists;
camel_folder_class->is_open = _is_open;
- camel_folder_class->get_folder = _get_folder;
+ camel_folder_class->get_subfolder = _get_subfolder;
camel_folder_class->create = _create;
camel_folder_class->delete = _delete;
camel_folder_class->delete_messages = _delete_messages;
@@ -128,7 +134,7 @@ camel_folder_pt_proxy_class_init (CamelFolderPtProxyClass *camel_folder_pt_proxy
camel_folder_class->get_mode = _get_mode;
camel_folder_class->list_subfolders = _list_subfolders;
camel_folder_class->expunge = _expunge;
- camel_folder_class->get_message = _get_message;
+ camel_folder_class->get_message_by_number = _get_message_by_number;
camel_folder_class->get_message_count = _get_message_count;
camel_folder_class->append_message = _append_message;
camel_folder_class->list_permanent_flags = _list_permanent_flags;
@@ -335,13 +341,12 @@ _folder_open_cb (CamelFolder *folder,
}
-
static void
-_open (CamelFolder *folder,
- CamelFolderOpenMode mode,
- CamelFolderAsyncCallback callback,
- gpointer user_data,
- CamelException *ex)
+_open_async (CamelFolder *folder,
+ CamelFolderOpenMode mode,
+ CamelFolderAsyncCallback callback,
+ gpointer user_data,
+ CamelException *ex)
{
CamelFolderPtProxy *proxy_folder;
CamelOp *op;
@@ -357,7 +362,7 @@ _open (CamelFolder *folder,
func_def = CAMEL_FOLDER_PT_PROXY_CLASS(proxy_folder)->open_func_def;
if (callback)
op = camel_marshal_create_op (func_def,
- CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->open,
+ CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->open_async,
proxy_folder->real_folder,
mode,
_folder_open_cb,
@@ -365,7 +370,7 @@ _open (CamelFolder *folder,
proxy_folder->thread_ex);
else
op = camel_marshal_create_op (func_def,
- CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->open,
+ CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->open_async,
proxy_folder->real_folder,
mode,
NULL,
@@ -380,6 +385,17 @@ _open (CamelFolder *folder,
+static void _open (CamelFolder *folder,
+ CamelFolderOpenMode mode,
+ CamelException *ex)
+{
+ CamelFolderPtProxy *proxy_folder;
+
+ proxy_folder = CAMEL_FOLDER_PT_PROXY (folder);
+ CF_CLASS (proxy_folder->real_folder)->
+ open (proxy_folder->real_folder, mode, ex);
+}
+
/* folder->close implementation */
@@ -405,11 +421,11 @@ _folder_close_cb (CamelFolder *folder,
}
static void
-_close (CamelFolder *folder,
- gboolean expunge,
- CamelFolderAsyncCallback callback,
- gpointer user_data,
- CamelException *ex)
+_close_async (CamelFolder *folder,
+ gboolean expunge,
+ CamelFolderAsyncCallback callback,
+ gpointer user_data,
+ CamelException *ex)
{
CamelFolderPtProxy *proxy_folder;
CamelOp *op;
@@ -420,7 +436,7 @@ _close (CamelFolder *folder,
func_def = CAMEL_FOLDER_PT_PROXY_CLASS(proxy_folder)->close_func_def;
if (callback)
op = camel_marshal_create_op (func_def,
- CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->close,
+ CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->close_async,
proxy_folder->real_folder,
expunge,
_folder_close_cb,
@@ -428,7 +444,7 @@ _close (CamelFolder *folder,
proxy_folder->thread_ex);
else
op = camel_marshal_create_op (func_def,
- CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->close,
+ CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->close_async,
proxy_folder->real_folder,
expunge,
NULL,
@@ -439,59 +455,33 @@ _close (CamelFolder *folder,
}
-
-
-/* folder->set_name implementation */
-static void
-_folder_set_name_cb (CamelFolder *folder,
- gpointer user_data,
- CamelException *ex)
+static void _close (CamelFolder *folder,
+ gboolean expunge,
+ CamelException *ex)
{
- CamelOp *cb;
- _ProxyCbUserData *pud;
- CamelFuncDef *cb_def;
+ CamelFolderPtProxy *proxy_folder;
- camel_exception_xfer (pud->ex, ex);
- cb_def = CAMEL_FOLDER_PT_PROXY_CLASS(pud->proxy_folder)->set_name_cb_def;
- cb = camel_marshal_create_op (cb_def,
- pud->real_callback,
- pud->proxy_folder,
- pud->real_user_data,
- pud->ex);
- camel_thread_proxy_push_cb (pud->proxy_folder->proxy_object, cb);
+ proxy_folder = CAMEL_FOLDER_PT_PROXY (folder);
+ CF_CLASS (proxy_folder->real_folder)->
+ close (proxy_folder->real_folder, expunge, ex);
}
+
+
+
+
+/* folder->set_name implementation */
+
static void
_set_name (CamelFolder *folder,
const gchar *name,
- CamelFolderAsyncCallback callback,
- gpointer user_data,
CamelException *ex)
{
CamelFolderPtProxy *proxy_folder;
- CamelOp *op;
- CamelFuncDef *func_def;
proxy_folder = CAMEL_FOLDER_PT_PROXY (folder);
-
- func_def = CAMEL_FOLDER_PT_PROXY_CLASS(proxy_folder)->close_func_def;
- if (callback)
- op = camel_marshal_create_op (func_def,
- CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->set_name,
- proxy_folder->real_folder,
- name,
- _folder_set_name_cb,
- _proxy_cb_user_data (proxy_folder->pud, callback, proxy_folder, ex, user_data),
- proxy_folder->thread_ex);
- else
- op = camel_marshal_create_op (func_def,
- CAMEL_FOLDER_CLASS (proxy_folder->real_folder)->set_name,
- proxy_folder->real_folder,
- name,
- NULL,
- NULL,
- NULL);
- camel_thread_proxy_push_op (proxy_folder->proxy_object, op);
+ CF_CLASS (proxy_folder->real_folder)->
+ set_name (proxy_folder->real_folder, name, ex);
}
@@ -579,13 +569,13 @@ _is_open (CamelFolder *folder, CamelException *ex)
static CamelFolder *
-_get_folder (CamelFolder *folder, const gchar *folder_name, CamelException *ex)
+_get_subfolder (CamelFolder *folder, const gchar *folder_name, CamelException *ex)
{
CamelFolderPtProxy *proxy_folder;
proxy_folder = CAMEL_FOLDER_PT_PROXY (folder);
return CF_CLASS (proxy_folder->real_folder)->
- get_folder (proxy_folder->real_folder, folder_name, ex);
+ get_subfolder (proxy_folder->real_folder, folder_name, ex);
}
@@ -708,13 +698,13 @@ _expunge (CamelFolder *folder, CamelException *ex)
static CamelMimeMessage *
-_get_message (CamelFolder *folder, gint number, CamelException *ex)
+_get_message_by_number (CamelFolder *folder, gint number, CamelException *ex)
{
CamelFolderPtProxy *proxy_folder;
proxy_folder = CAMEL_FOLDER_PT_PROXY (folder);
return CF_CLASS (proxy_folder->real_folder)->
- get_message (proxy_folder->real_folder, number, ex);
+ get_message_by_number (proxy_folder->real_folder, number, ex);
}