online-desktop r7250 - in trunk: . pidgin



Author: marco
Date: Mon May  5 15:29:23 2008
New Revision: 7250
URL: http://svn.gnome.org/viewvc/online-desktop?rev=7250&view=rev

Log:
Add an IMClient interface to the plugin, with a Configure method


Modified:
   trunk/configure.ac
   trunk/pidgin/dbus-plugin.c

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Mon May  5 15:29:23 2008
@@ -188,7 +188,7 @@
 ABSOLUTE_TOP_SRCDIR=`cd ${srcdir} && pwd`
 AC_DEFINE_UNQUOTED(ABSOLUTE_TOP_SRCDIR, "$ABSOLUTE_TOP_SRCDIR", [full path to srcdir])
 
-PKG_CHECK_MODULES(PIDGIN_PLUGIN, gobject-2.0 dbus-1 >= 1.0 dbus-glib-1 >= 0.70 purple)
+PKG_CHECK_MODULES(PIDGIN_PLUGIN, gobject-2.0 dbus-1 >= 1.0 dbus-glib-1 >= 0.70 purple pidgin)
 
 PKG_CHECK_MODULES(ONLINE_PREFS_SYNC, glib-2.0 dbus-1 >= 1.0 dbus-glib-1 >= 0.70 gconf-2.0)
 

Modified: trunk/pidgin/dbus-plugin.c
==============================================================================
--- trunk/pidgin/dbus-plugin.c	(original)
+++ trunk/pidgin/dbus-plugin.c	Mon May  5 15:29:23 2008
@@ -11,10 +11,13 @@
 #include <util.h>
 #include <cipher.h>
 
+#include <gtkaccount.h>
+
 #include "hippo-dbus-helper.h"
 #include <dbus/dbus-glib-lowlevel.h>
 
 #define HIPPO_DBUS_IM_INTERFACE "org.freedesktop.od.IM"
+#define HIPPO_DBUS_IMCLIENT_INTERFACE "org.freedesktop.od.IMClient"
 #define HIPPO_DBUS_IM_PATH "/org/freedesktop/od/im"
 
 typedef struct {
@@ -342,6 +345,21 @@
     { 0, NULL }
 };
 
+static DBusMessage*
+handle_configure(void            *object,
+                 DBusMessage     *message,
+                 DBusError       *error)
+{
+    pidgin_accounts_window_show();
+
+    return dbus_message_new_method_return(message);
+}
+
+static const HippoDBusMember imclient_members[] = {
+    { HIPPO_DBUS_MEMBER_METHOD, "Configure", "", "", handle_configure },
+    { 0, NULL }
+};
+
 static void
 emit_buddy_list_changed (DBusConnection *connection)
 {
@@ -486,9 +504,13 @@
     hippo_dbus_helper_register_interface(connection, HIPPO_DBUS_IM_INTERFACE,
                                          im_members, NULL);
     
+    hippo_dbus_helper_register_interface(connection, HIPPO_DBUS_IMCLIENT_INTERFACE,
+                                         imclient_members, NULL);
+
     hippo_dbus_helper_register_object(connection, HIPPO_DBUS_IM_PATH,
                                       pd,
-                                      HIPPO_DBUS_IM_INTERFACE, NULL);
+                                      HIPPO_DBUS_IM_INTERFACE,
+                                      HIPPO_DBUS_IMCLIENT_INTERFACE, NULL);
 
     purple_signal_connect(purple_blist_get_handle(), "buddy-added",
                           get_signal_handle(),



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