libspiatk_la_LIBADD = $(DBUS_GLIB_LIBS) \
$(ATK_LIBS) \
- $(top_builddir)/droute/libdroute.la \
+ $(top_builddir)/droute/libdroute.la\
$(top_builddir)/spi-common/libspicommon.la
libspiatk_la_SOURCES = \
void spi_initialize_table(DRouteData *data);
void spi_initialize_text(DRouteData *data);
void spi_initialize_value(DRouteData *data);
-void spi_initialize_introspectable(DRouteData *data);
+void spi_initialize_introspectable(DRouteData *data, DRouteGetDatumFunction verify_object);
void spi_dbus_initialize(DRouteData *data);
AtkObject *spi_dbus_get_object(const char *path);
#include "accessible.h"
-extern GHashTable *path2ptr;
+GHashTable *path2ptr;
+static guint objindex;
+
+static void
+deregister_object (gpointer data, GObject *obj)
+{
+ spi_dbus_notify_remove(ATK_OBJECT(obj), NULL);
+ g_hash_table_remove (path2ptr, &obj);
+}
+
+static guint
+register_object (GObject * obj)
+{
+ gint *new_int;
+
+ if (!path2ptr)
+ {
+ path2ptr = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, NULL);
+ if (!path2ptr)
+ return ++objindex;
+ }
+ objindex++;
+ while (g_hash_table_lookup (path2ptr, &objindex))
+ {
+ objindex++;
+ /* g_object_get_data returning 0 means no data, so handle wrap-around */
+ if (objindex == 0)
+ objindex++;
+ }
+ new_int = (gint *)g_malloc(sizeof(gint));
+ if (new_int)
+ {
+ *new_int = objindex;
+ g_hash_table_insert (path2ptr, new_int, obj);
+ }
+ g_object_set_data (G_OBJECT (obj), "dbus-id", (gpointer) objindex);
+ g_object_weak_ref(G_OBJECT(obj), deregister_object, NULL);
+ spi_dbus_notify_change(obj, TRUE, NULL);
+ return objindex;
+}
AtkObject *
spi_dbus_get_object (const char *path)
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);
}
static GString *
fi
AC_ARG_VAR([DEFAULT_ATSPI_INTROSPECTION_PATH],
- [Set the default path for the DBus introspection XML])
+ [Set the default path for the install ofDBus introspection XML
+ relative to the pkgdatadir.])
if test -z "$DEFAULT_ATSPI_INTROSPECTION_PATH"; then
- DEFAULT_ATSPI_INTROSPECTION_PATH=atspi/dbus
+ DEFAULT_ATSPI_INTROSPECTION_PATH=dbus
fi
AC_ARG_VAR([GTK_MODULE_DIR],
noinst_LTLIBRARIES = libdroute.la
libdroute_la_CFLAGS = $(DBUS_GLIB_CFLAGS) $(ATK_CFLAGS)\
- -DATSPI_INTROSPECTION_PATH=\"$(DEFAULT_ATSPI_INTROSPECTION_PATH)\"\
+ -DATSPI_INTROSPECTION_PATH=\"$(pkgdatadir)/$(DEFAULT_ATSPI_INTROSPECTION_PATH)\"\
-I$(top_builddir)\
-I$(top_srcdir)
#include "deviceeventcontroller.h"
#include "reentrant-list.h"
-#include "libspi/keymasks.h"
KeySym ucs2keysym (long ucs);
long keysym2ucs(KeySym keysym);
/* Our parent GObject type */
#define PARENT_TYPE G_OBJECT_TYPE
-<<<<<<< HEAD:registryd/registry.c
-=======
-
->>>>>>> 6d509d490749c6bac3149a5ec45862352ffcf290:registryd/registry.c
int _dbg = 0;
noinst_LTLIBRARIES = libspicommon.la
-libspicommon_la_CFLAGS = $(DBUS_GLIB_CFLAGS) $(ATK_CFLAGS)\
+libspicommon_la_CFLAGS = $(DBUS_GLIB_CFLAGS)\
-DATSPI_INTROSPECTION_PATH=\"$(DEFAULT_ATSPI_INTROSPECTION_PATH)\"\
-I$(top_builddir)\
-I$(top_srcdir)
+libspicommon_la_LIBADD = $(DBUS_GLIB_LIBS)
+
BUILT_SOURCES = generated-types.h
CLEANFILES = generated-types.h
#include "spi-types.h"
-GHashTable *path2ptr;
-static guint objindex;
-
-static void
-deregister_object (gpointer data, GObject *obj)
-{
- spi_dbus_notify_remove(ATK_OBJECT(obj), NULL);
- g_hash_table_remove (path2ptr, &obj);
-}
-
-static guint
-register_object (GObject * obj)
-{
- gint *new_int;
-
- if (!path2ptr)
- {
- path2ptr = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, NULL);
- if (!path2ptr)
- return ++objindex;
- }
- objindex++;
- while (g_hash_table_lookup (path2ptr, &objindex))
- {
- objindex++;
- /* g_object_get_data returning 0 means no data, so handle wrap-around */
- if (objindex == 0)
- objindex++;
- }
- new_int = (gint *)g_malloc(sizeof(gint));
- if (new_int)
- {
- *new_int = objindex;
- g_hash_table_insert (path2ptr, new_int, obj);
- }
- g_object_set_data (G_OBJECT (obj), "dbus-id", (gpointer) objindex);
- g_object_weak_ref(G_OBJECT(obj), deregister_object, NULL);
- spi_dbus_notify_change(obj, TRUE, NULL);
- return objindex;
-}
-
DBusMessage *
spi_dbus_general_error (DBusMessage * message)
{
$(INTROSPECT_FILES): introspection/%: %.xml ../tools/spec-to-introspect.xsl
xsltproc ../tools/spec-to-introspect.xsl $< |sed -e 's@xmlns:tp="http://telepathy\.freedesktop\.org/wiki/DbusSpec.extensions-v0"@@g' >$@
-introspectdir = $(pkgdatadir)/dbus
+introspectdir = $(pkgdatadir)/$(DEFAULT_ATSPI_INTROSPECTION_PATH)
dist_introspect_DATA = $(INTROSPECT_FILES)
+++ /dev/null
- <interface name="org.freedesktop.atspi.Tree">
- <method name="getRoot">
- <arg name="root" type="o" direction="out"/>
- </method>
- <method name="getTree">
- <arg name="nodes" type="a(ooaoassus)" direction="out"/>
- </method>
- <signal name="updateTree">
- <arg name="nodesAdded" type="a(ooaoassus)"/>
- <arg name="nodesRemoved" type="ao"/>
- </signal>
- </interface>