spi_initialize_table (data);
spi_initialize_text (data);
spi_initialize_value (data);
- spi_initialize_introspectable(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 *
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 (;;)
{