[java-atk-wrapper] Add D-Bus support



commit d4961d7b65f2d929bae2407a24e1942202ad2882
Author: Ke Wang <ke wang sun com>
Date:   Fri Nov 27 15:43:30 2009 +0800

    Add D-Bus support

 configure.in         |    7 +++++--
 jni/src/AtkWrapper.c |   16 +++++++++++++---
 jni/src/Makefile.am  |    3 ++-
 3 files changed, 20 insertions(+), 6 deletions(-)
---
diff --git a/configure.in b/configure.in
index a2a4660..666c1e5 100644
--- a/configure.in
+++ b/configure.in
@@ -31,10 +31,13 @@ PKG_CHECK_MODULES(JAW, [
 	gthread-2.0
 	gmodule-2.0
 	gdk-2.0
+	gconf-2.0
 ])
 
-ATK_BRIDGE_LIB_NAME="`pkg-config --variable=libdir gtk+-2.0`/gtk-2.0/modules/libatk-bridge.so"
-AC_SUBST(ATK_BRIDGE_LIB_NAME)
+ATK_BRIDGE_LIB_NAME_DBUS="`pkg-config --variable=libdir gtk+-2.0`/gtk-2.0/modules/libatk-bridge.so"
+ATK_BRIDGE_LIB_NAME_CORBA="`pkg-config --variable=libdir gtk+-2.0`/gtk-2.0/modules/at-spi-corba/modules/libatk-bridge.so"
+AC_SUBST(ATK_BRIDGE_LIB_NAME_DBUS)
+AC_SUBST(ATK_BRIDGE_LIB_NAME_CORBA)
 
 # java wrapper
 
diff --git a/jni/src/AtkWrapper.c b/jni/src/AtkWrapper.c
index 4314c68..891a857 100644
--- a/jni/src/AtkWrapper.c
+++ b/jni/src/AtkWrapper.c
@@ -23,6 +23,7 @@
 #include <gmodule.h>
 #include <gdk/gdk.h>
 #include <X11/Xlib.h>
+#include <gconf/gconf-client.h>
 #include "jawutil.h"
 #include "jawimpl.h"
 #include "jawtoplevel.h"
@@ -98,12 +99,21 @@ jaw_load_atk_bridge (gpointer p)
 		return NULL;
 	}
 
+	gboolean use_corba = gconf_client_get_bool(
+			gconf_client_get_default(),
+			"/desktop/gnome/interface/at-spi-corba",
+			NULL);
+
 	GModule *module;
-	module = g_module_open(ATK_BRIDGE_LIB_NAME, G_MODULE_BIND_LAZY);
+	if (use_corba)
+		module = g_module_open(ATK_BRIDGE_LIB_NAME_CORBA, G_MODULE_BIND_LAZY);
+	else
+		module = g_module_open(ATK_BRIDGE_LIB_NAME_DBUS, G_MODULE_BIND_LAZY);
+
 	if (!module) {
 		return NULL;
 	}
-
+	
 	GVoidFunc dl_init;
 	if (!g_module_symbol( module, "gnome_accessibility_module_init", (gpointer*)&dl_init)) {
 		g_module_close(module);
@@ -132,7 +142,7 @@ JNIEXPORT void JNICALL Java_org_GNOME_Accessibility_AtkWrapper_initNativeLibrary
 	// Java app with GTK Look And Feel will load gail
 	// Set NO_GAIL to "1" to prevent gail from executing
 	g_setenv("NO_GAIL", "1", TRUE);
-	
+
 	g_type_class_unref(g_type_class_ref(JAW_TYPE_UTIL));
 	g_type_class_unref(g_type_class_ref(JAW_TYPE_MISC));
 	// Force to invoke base initialization function of each ATK interfaces
diff --git a/jni/src/Makefile.am b/jni/src/Makefile.am
index 7456ee5..17c2a9c 100644
--- a/jni/src/Makefile.am
+++ b/jni/src/Makefile.am
@@ -24,7 +24,8 @@ noinst_HEADERS = jawimpl.h \
 
 libatk_wrapper_la_CPPFLAGS = $(JNI_INCLUDES)\
 			     $(JAW_CFLAGS)\
-			     -DATK_BRIDGE_LIB_NAME=\"$(ATK_BRIDGE_LIB_NAME)\"
+			     -DATK_BRIDGE_LIB_NAME_DBUS=\"$(ATK_BRIDGE_LIB_NAME_DBUS)\"\
+			     -DATK_BRIDGE_LIB_NAME_CORBA=\"$(ATK_BRIDGE_LIB_NAME_CORBA)\"
 
 libatk_wrapper_la_LDFLAGS = -version-info $(LIB_ATK_WRAPPER_LT_VERSION)
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]