evolution r36164 - branches/mail-dbus-remoting/mail



Author: sragavan
Date: Thu Aug 28 13:55:47 2008
New Revision: 36164
URL: http://svn.gnome.org/viewvc/evolution?rev=36164&view=rev

Log:
Add api to get the store service name.


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

Modified: branches/mail-dbus-remoting/mail/camel-store-remote-impl.c
==============================================================================
--- branches/mail-dbus-remoting/mail/camel-store-remote-impl.c	(original)
+++ branches/mail-dbus-remoting/mail/camel-store-remote-impl.c	Thu Aug 28 13:55:47 2008
@@ -470,6 +470,26 @@
 			err = camel_exception_get_description (&ex);	
 		dbus_message_append_args(reply, DBUS_TYPE_INT32, &info, DBUS_TYPE_STRING, &err, DBUS_TYPE_INVALID);
 		camel_exception_clear (&ex);
+	}  else if (!g_strcmp0(method, "camel_service_get_name")) {
+		char *store_hash_key;
+		CamelStore *store;
+		char *name;
+		gboolean brief;
+		CamelException ex;
+
+		camel_exception_init (&ex);
+		dbus_message_get_args(message,
+				      NULL,
+				      DBUS_TYPE_STRING, &store_hash_key,
+				      DBUS_TYPE_INT32, &brief,
+				      DBUS_TYPE_INVALID);
+		
+		store = g_hash_table_lookup(store_hash, store_hash_key);
+		name = camel_service_get_name ((CamelService *) store, brief);
+		dbus_message_append_args(reply, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID);
+		if (camel_exception_is_set(&ex))
+				g_warning ("%s: %s", method, camel_exception_get_description(&ex));
+		camel_exception_clear (&ex);
 	} else if (strncmp (method, "camel_object", 12) == 0) {
 		return camel_object_signal_handler (connection, message, user_data, CAMEL_ROT_STORE);
 	} else

Modified: branches/mail-dbus-remoting/mail/camel-store-remote.c
==============================================================================
--- branches/mail-dbus-remoting/mail/camel-store-remote.c	(original)
+++ branches/mail-dbus-remoting/mail/camel-store-remote.c	Thu Aug 28 13:55:47 2008
@@ -435,3 +435,21 @@
 
 	return info;
 }
+
+char * camel_store_get_service_name_remote (CamelStoreRemote *store, gboolean brief)
+{
+	gboolean ret;
+	DBusError error;
+	char *name = NULL;
+
+	dbus_error_init(&error);
+
+	ret = dbind_context_method_call(evolution_dbus_peek_context(),
+					CAMEL_DBUS_NAME,
+					CAMEL_STORE_OBJECT_PATH,
+					CAMEL_STORE_INTERFACE,
+					"camel_service_get_name",
+					&error, "si=>s", store->object_id, brief, &name);
+
+	return name;
+}

Modified: branches/mail-dbus-remoting/mail/camel-store-remote.h
==============================================================================
--- branches/mail-dbus-remoting/mail/camel-store-remote.h	(original)
+++ branches/mail-dbus-remoting/mail/camel-store-remote.h	Thu Aug 28 13:55:47 2008
@@ -54,4 +54,6 @@
 char *camel_store_get_url_remote(CamelStoreRemote *store);
 
 int camel_store_get_url_flags_remote(CamelStoreRemote *store);
+char * camel_store_get_service_name_remote (CamelStoreRemote *store, gboolean brief);
+
 #endif



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