g_object_get_qdata (G_OBJECT (controller), spi_dec_private_quark);
priv->xkb_latch_mask = 0;
}
--
-static void emit(SpiDEController *controller, const char *interface, const char *name, const char *detail, int detail1, int detail2)
-{
- DBusMessage *sig;
- DBusMessageIter iter, iter_variant;
-
- sig = dbus_message_new_signal(SPI_DBUS_PATH_DEC, interface, name);
- if (!sig) return;
- dbus_message_iter_init_append (sig, &iter);
- if (!detail) detail = "";
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &detail);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &detail1);
- dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &detail2);
- dbus_message_iter_open_container (&iter, DBUS_TYPE_VARIANT, "u", &iter_variant);
- /* append dummy value */
- dbus_message_iter_append_basic (&iter_variant, DBUS_TYPE_UINT32, &detail1);
- dbus_message_iter_close_container (&iter, &iter_variant);
- dbus_connection_send(controller->droute->bus, sig, NULL);
- dbus_message_unref(sig);
++
+static void emit(SpiDEController *controller, const char *name, int first_type, ...)
+{
+ va_list arg;
+
+ va_start(arg, first_type);
+ spi_dbus_emit_valist(controller->bus, SPI_DBUS_PATH_DEC, SPI_DBUS_INTERFACE_DEC, name, first_type, arg);
+ va_end(arg);
}
static gboolean