Enlightenment CVS committal

Author  : shorne
Project : e17
Module  : proto

Dir     : e17/proto/e_dbus/src/lib/dbus


Modified Files:
        E_DBus.h e_dbus_object.c 


Log Message:
Small Changes
 * Fixed bus in properties setter (Not tested)
 * Allow to detach interfaces from objects (Module unloading)
 * add close function to header


===================================================================
RCS file: /cvs/e/e17/proto/e_dbus/src/lib/dbus/E_DBus.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- E_DBus.h    11 Jul 2007 00:48:17 -0000      1.12
+++ E_DBus.h    23 Jul 2007 12:30:25 -0000      1.13
@@ -46,12 +46,14 @@
 void e_dbus_connection_unref(E_DBus_Connection *conn);
 
 E_DBus_Connection *e_dbus_connection_setup(DBusConnection *conn);
+void e_dbus_connection_close(E_DBus_Connection *conn);
 
 /* receiving method calls */
 E_DBus_Interface *e_dbus_interface_new(const char *interface);
 void e_dbus_interface_ref(E_DBus_Interface *iface);
 void e_dbus_interface_unref(E_DBus_Interface *iface);
 void e_dbus_object_interface_attach(E_DBus_Object *obj, E_DBus_Interface 
*iface);
+void e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface 
*iface);
 int e_dbus_interface_method_add(E_DBus_Interface *iface, const char *member, 
const char *signature, const char *reply_signature, E_DBus_Method_Cb func);
 
 E_DBus_Object *e_dbus_object_add(E_DBus_Connection *conn, const char 
*object_path, void *data);
===================================================================
RCS file: /cvs/e/e17/proto/e_dbus/src/lib/dbus/e_dbus_object.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_dbus_object.c     11 Jul 2007 00:48:17 -0000      1.11
+++ e_dbus_object.c     23 Jul 2007 12:30:25 -0000      1.12
@@ -141,7 +141,7 @@
   char *property;
 
   dbus_message_iter_init(msg, &iter);
-  dbus_message_iter_get_basic(&sub, &property);
+  dbus_message_iter_get_basic(&iter, &property);
   dbus_message_iter_recurse(&iter, &sub);
   type = dbus_message_iter_get_arg_type(&sub);
   if (dbus_type_is_basic(type))
@@ -284,6 +284,20 @@
   ecore_list_append(obj->interfaces, iface);
   obj->introspection_dirty = 1;
   DEBUG(4, "e_dbus_object_interface_attach (%s, %s) ", obj->path, iface->name);
+}
+
+void
+e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface *iface)
+{
+  E_DBus_Interface *found;
+
+  DEBUG(4, "e_dbus_object_interface_detach (%s, %s) ", obj->path, iface->name);
+  found = ecore_list_goto(obj->interfaces, iface);
+  if (found == NULL) return;
+
+  ecore_dlist_remove(obj->interfaces);
+  obj->introspection_dirty = 1;
+  e_dbus_interface_unref(iface);
 }
 
 void



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to