-static void emit(AtkObject *object, const char *name, int first_arg_type, ...)
-{
- va_list args;
- DBusMessage *sig;
- char *path = spi_dbus_get_path(object);
-
- spi_dbus_update_cache(&this_app->droute);
- sig = dbus_message_new_signal(path, "org.freedesktop.atspi.Accessible", name);
- va_start(args, first_arg_type);
- if (first_arg_type != DBUS_TYPE_INVALID)
- {
- dbus_message_append_args_valist(sig, first_arg_type, args);
- }
- va_end(args);
- dbus_connection_send(this_app->droute.bus, sig, NULL);
- g_free(path);
- dbus_message_unref(sig);
-}
-
-static void
-spi_atk_bridge_focus_tracker (AtkObject *object)
-{
- emit(object, "focus", DBUS_TYPE_INVALID);
-}
-
-static void emit_property_change(AtkObject *object, const char *name, int type, void *val)
+static void emit(AtkObject *object, const char *name, const char *detail, dbus_int32_t detail1, dbus_int32_t detail2, int type, const void *val)