Have spi_initialize_introspectable take a verify function
[platform/core/uifw/at-spi2-atk.git] / libspi / dbus.c
index a8e12d1..7152b66 100644 (file)
@@ -182,9 +182,22 @@ spi_dbus_initialize (DRouteData * data)
   spi_initialize_image (data);
   spi_initialize_selection (data);
   spi_initialize_table (data);
-  spi_initialize_tree (data);
   spi_initialize_text (data);
   spi_initialize_value (data);
+  spi_initialize_introspectable(data, (DRouteGetDatumFunction) spi_dbus_get_object);
+}
+
+void spi_dbus_emit_valist(DBusConnection *bus, const char *path, const char *interface, const char *name, int first_arg_type, va_list args)
+{
+  DBusMessage *sig;
+
+  sig = dbus_message_new_signal(path, interface, name);
+  if (first_arg_type != DBUS_TYPE_INVALID)
+  {
+    dbus_message_append_args_valist(sig, first_arg_type, args);
+  }
+  dbus_connection_send(bus, sig, NULL);
+  dbus_message_unref(sig);
 }
 
 static GString *
@@ -266,7 +279,7 @@ dbus_bool_t spi_dbus_message_iter_append_struct(DBusMessageIter *iter, ...)
   int type;
   void *ptr;
 
-  if (!dbus_message_iter_open_container(iter, &iter_struct)) return FALSE;
+  if (!dbus_message_iter_open_container(iter, DBUS_TYPE_STRUCT, NULL, &iter_struct)) return FALSE;
   va_start(args, iter);
   for (;;)
   {