spi_dbus_emit -> spi_dbus_emit_valist
authorMike Gorse <mgorse@boston.site>
Tue, 13 May 2008 20:26:58 +0000 (16:26 -0400)
committerMike Gorse <mgorse@boston.site>
Tue, 13 May 2008 20:26:58 +0000 (16:26 -0400)
Add some defines

libspi/accessible.h
libspi/dbus.c

index 55df3b3..d6c7070 100644 (file)
@@ -83,6 +83,11 @@ struct _Accessibility_KeyDefinition
 
 #define SPI_DBUS_NAME_REGISTRY "org.freedesktop.atspi.registry"
 #define SPI_DBUS_PATH_REGISTRY "/org/freedesktop/atspi/registry"
+#define SPI_DBUS_INTERFACE_REGISTRY "org.freedesktop.atspi.registry"
+#define SPI_DBUS_PATH_DEC "/org/freedesktop/atspi/registry/dec"
+#define SPI_DBUS_INTERFACE_DEC "org.freedesktop.atspi.deviceEventController"
+#define SPI_DBUS_PATH_DESKTOP "/org/freedesktop/atspi/registry/desktop"
+#define SPI_DBUS_PATH_NULL "/"
 
 AtkObject *spi_dbus_get_object(const char *path);
 
@@ -95,6 +100,7 @@ dbus_bool_t spi_dbus_return_v_object(DBusMessageIter *iter, AtkObject *obj, int
 #define SPI_DBUS_RETURN_ERROR(m, e) dbus_message_new_error(m, (e)->name, (e)->message)
 
 void spi_dbus_initialize(DRouteData *data);
+void spi_dbus_emit_valist(DBusConnection *bus, const char *path, const char *interface, const char *name, int first_arg_type, va_list args);
 dbus_bool_t spi_dbus_message_iter_get_struct(DBusMessageIter *iter, ...);
 dbus_bool_t spi_dbus_message_iter_append_struct(DBusMessageIter *iter, ...);
 dbus_bool_t spi_dbus_marshall_deviceEvent(DBusMessage *message, const Accessibility_DeviceEvent *e);
index a8e12d1..b95cad2 100644 (file)
@@ -187,6 +187,19 @@ spi_dbus_initialize (DRouteData * data)
   spi_initialize_value (data);
 }
 
+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 *
 spi_get_tree (AtkObject * obj, GString * str, DRouteData * data)
 {
@@ -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 (;;)
   {