evolution r36170 - branches/mail-dbus-remoting/mail



Author: abharath
Date: Thu Aug 28 16:18:08 2008
New Revision: 36170
URL: http://svn.gnome.org/viewvc/evolution?rev=36170&view=rev

Log:
Committed few more camel_folder_remote_* funcs. Just to sync up


Modified:
   branches/mail-dbus-remoting/mail/camel-folder-remote-impl.c
   branches/mail-dbus-remoting/mail/camel-folder-remote.c
   branches/mail-dbus-remoting/mail/camel-folder-remote.h

Modified: branches/mail-dbus-remoting/mail/camel-folder-remote-impl.c
==============================================================================
--- branches/mail-dbus-remoting/mail/camel-folder-remote-impl.c	(original)
+++ branches/mail-dbus-remoting/mail/camel-folder-remote-impl.c	Thu Aug 28 16:18:08 2008
@@ -61,6 +61,38 @@
 
 		camel_folder_thaw (folder);
 		dbus_message_append_args (return_val, DBUS_TYPE_INVALID);
+	} else if (strcmp(method, "camel_folder_freeze") == 0) {
+		gboolean ret;
+
+		ret = dbus_message_get_args (message, NULL,
+				DBUS_TYPE_STRING, &folder_hash_key,
+				DBUS_TYPE_INVALID);
+		folder = g_hash_table_lookup (folder_hash, folder_hash_key);
+
+		camel_folder_freeze (folder);
+		dbus_message_append_args (return_val, DBUS_TYPE_INVALID);
+	} else if (strcmp(method, "camel_folder_get_message_count") == 0) {
+		gboolean ret;
+		int message_count;
+
+		ret = dbus_message_get_args (message, NULL,
+				DBUS_TYPE_STRING, &folder_hash_key,
+				DBUS_TYPE_INVALID);
+		folder = g_hash_table_lookup (folder_hash, folder_hash_key);
+
+		message_count = camel_folder_get_message_count (folder);
+		dbus_message_append_args (return_val, DBUS_TYPE_INT32, &message_count, DBUS_TYPE_INVALID);
+	} else if (strcmp(method, "camel_folder_get_deleted_message_count") == 0) {
+		gboolean ret;
+		int message_count;
+
+		ret = dbus_message_get_args (message, NULL,
+				DBUS_TYPE_STRING, &folder_hash_key,
+				DBUS_TYPE_INVALID);
+		folder = g_hash_table_lookup (folder_hash, folder_hash_key);
+
+		message_count = camel_folder_get_deleted_message_count (folder);
+		dbus_message_append_args (return_val, DBUS_TYPE_INT32, &message_count, DBUS_TYPE_INVALID);
 	} else if (strncmp (method, "camel_object", 12) == 0) {
 		return camel_object_signal_handler (connection, message, user_data, CAMEL_ROT_FOLDER);
 	} else

Modified: branches/mail-dbus-remoting/mail/camel-folder-remote.c
==============================================================================
--- branches/mail-dbus-remoting/mail/camel-folder-remote.c	(original)
+++ branches/mail-dbus-remoting/mail/camel-folder-remote.c	Thu Aug 28 16:18:08 2008
@@ -10,7 +10,7 @@
 extern GHashTable *folder_hash;
 
 void
-camel_folder_construct_remote (CamelFolderRemote *folder,
+camel_folder_remote_construct (CamelFolderRemote *folder,
 			CamelStoreRemote *parent_store,
 			const char *full_name,
 			const char *name)
@@ -37,7 +37,7 @@
 }
 
 void 
-camel_folder_thaw_remote (CamelFolderRemote *folder)
+camel_folder_remote_thaw (CamelFolderRemote *folder)
 {
 	gboolean ret;
 	DBusError error;
@@ -60,4 +60,82 @@
 	d(printf("Camel folder thaw remotely\n"));
 }
 
+void
+camel_folder_remote_freeze (CamelFolderRemote *folder)
+{
+	gboolean ret;
+	DBusError error;
+
+	dbus_error_init (&error);
+	/* Invoke the appropriate dbind call to MailSessionRemoteImpl */
+	ret = dbind_context_method_call (evolution_dbus_peek_context(), 
+			CAMEL_DBUS_NAME,
+			CAMEL_FOLDER_OBJECT_PATH,
+			CAMEL_FOLDER_INTERFACE,
+			"camel_folder_freeze",
+			&error, 
+			"s", folder->object_id); 
+
+	if (!ret) {
+		g_warning ("Error: Camel folder freeze: %s\n", error.message);
+		return;
+	}
+
+	d(printf("Camel folder freeze remotely\n"));
+}
+
+int
+camel_folder_remote_get_message_count (CamelFolderRemote *folder)
+{
+	gboolean ret;
+	DBusError error;
+	int message_count;
+
+	dbus_error_init (&error);
+	/* Invoke the appropriate dbind call to MailSessionRemoteImpl */
+	ret = dbind_context_method_call (evolution_dbus_peek_context(), 
+			CAMEL_DBUS_NAME,
+			CAMEL_FOLDER_OBJECT_PATH,
+			CAMEL_FOLDER_INTERFACE,
+			"camel_folder_get_message_count",
+			&error, 
+			"s=>i", folder->object_id, &message_count); 
+
+	if (!ret) {
+		g_warning ("Error: Camel folder get message count: %s\n", error.message);
+		return 0;
+	}
+
+	d(printf("Camel folder get message count remotely\n"));
+	
+	return message_count;
+}
+
+int
+camel_folder_remote_get_deleted_message_count (CamelFolderRemote *folder)
+{
+	gboolean ret;
+	DBusError error;
+	int message_count;
+
+	dbus_error_init (&error);
+	/* Invoke the appropriate dbind call to MailSessionRemoteImpl */
+	ret = dbind_context_method_call (evolution_dbus_peek_context(), 
+			CAMEL_DBUS_NAME,
+			CAMEL_FOLDER_OBJECT_PATH,
+			CAMEL_FOLDER_INTERFACE,
+			"camel_folder_get_deleted_message_count",
+			&error, 
+			"s=>i", folder->object_id, &message_count); 
+
+	if (!ret) {
+		g_warning ("Error: Camel folder get deleted message count: %s\n", error.message);
+		return 0;
+	}
+
+	d(printf("Camel folder get deleted message count remotely\n"));
+	
+	return message_count;
+}
+
 

Modified: branches/mail-dbus-remoting/mail/camel-folder-remote.h
==============================================================================
--- branches/mail-dbus-remoting/mail/camel-folder-remote.h	(original)
+++ branches/mail-dbus-remoting/mail/camel-folder-remote.h	Thu Aug 28 16:18:08 2008
@@ -4,11 +4,19 @@
 #include "camel-object-remote.h"
 #include "camel-store-remote.h"
 
-void camel_folder_construct_remote (CamelFolderRemote *folder,
+void camel_folder_remote_construct (CamelFolderRemote *folder,
 				CamelStoreRemote *parent_store,
 				const char *full_name,
 				const char *name);
 
-void camel_folder_thaw_remote (CamelFolderRemote *folder);
+void camel_folder_remote_thaw (CamelFolderRemote *folder);
+
+void camel_folder_remote_freeze (CamelFolderRemote *folder);
+
+int camel_folder_remote_get_message_count (CamelFolderRemote *folder);
+
+int camel_folder_remote_get_deleted_message_count (CamelFolderRemote *folder);
+
+const char *camel_folder_remote_get_name (CamelFolder *folder);
 
 #endif



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]