-extern void gnome_accessibility_module_init (void);
-extern void gnome_accessibility_module_shutdown (void);
-
-static void
-spi_atk_bridge_init_event_type_consts ()
-{
- static gboolean done = FALSE;
-
- if (done)
- return;
-
- atk_signal_children_changed = g_signal_lookup ("children_changed",
- ATK_TYPE_OBJECT);
- atk_signal_text_changed = g_signal_lookup ("text_changed",
- ATK_TYPE_TEXT);
- atk_signal_bounds_changed = g_signal_lookup ("bounds_changed",
- ATK_TYPE_COMPONENT);
- atk_signal_active_descendant_changed =
- g_signal_lookup ("active_descendant_changed",
- ATK_TYPE_OBJECT);
- atk_signal_link_selected = g_signal_lookup ("link_selected",
- ATK_TYPE_HYPERTEXT);
- atk_signal_text_selection_changed = g_signal_lookup ("text_selection_changed",
- ATK_TYPE_TEXT);
- done = TRUE;
-}
-
-static gboolean
-post_init (gpointer data)
-{
- during_init_shutdown = FALSE;
- return FALSE;
-}
-
-static DBusObjectPathVTable droute_vtable =
-{
- NULL,
- &droute_message,
- NULL, NULL, NULL, NULL
-};
-
-static gchar* atspi_dbus_name;
-static gboolean atspi_no_register;
-
-static GOptionEntry atspi_option_entries[] =
-{
- {"atspi-dbus-name", 0, 0, G_OPTION_ARG_STRING, &atspi_dbus_name, "D-Bus bus name to register as", NULL},
- {"atspi-no-register", 0, 0, G_OPTION_ARG_NONE, &atspi_no_register, "Do not register with Registry Daemon", NULL},
- {NULL}
-};
-
-static SpiAppData *
-spi_app_init (AtkObject *root, gint *argc, gchar **argv[])
-{
- GOptionContext *opt;
- SpiAppData *ad = g_new0(SpiAppData, 1);
- GError *err = NULL;
- DBusError error;
- int i;
-
- opt = g_option_context_new(NULL);
- g_option_context_add_main_entries(opt, atspi_option_entries, NULL);
- g_option_context_set_ignore_unknown_options(opt, TRUE);
- if (!g_option_context_parse(opt, argc, argv, &err))
- g_warning("Option parsing failed: %s\n", err->message);
-
- dbus_error_init(&error);
- ad->root = root;
- ad->droute.bus = dbus_bus_get(DBUS_BUS_SESSION, &error);
-
- if (!ad->droute.bus)
- {
- g_warning("Couldn't connect to dbus: %s\n", error.message);
- free(ad);
- return NULL;
- }
- if (atspi_dbus_name != NULL && dbus_bus_request_name(ad->droute.bus,
- atspi_dbus_name,
- 0,
- &error))
- {
- g_print("\nRecieved D-Bus name - %s\n", atspi_dbus_name);
- }
- spi_register_tree_object(ad->droute.bus, &ad->droute, "/org/freedesktop/atspi/tree");
- if (!dbus_connection_try_register_fallback (ad->droute.bus,
- "/org/freedesktop/atspi/accessible",
- &droute_vtable,
- &ad->droute,
- &error))
- {
- g_warning("Couldn't register droute.\n");
- free(ad);
- return NULL;
- }
-
- dbus_connection_setup_with_g_main(ad->droute.bus, g_main_context_default());
-
- spi_dbus_initialize (&ad->droute);
- return ad;
-}
-
-static int
-atk_bridge_init (gint *argc, gchar **argv[])
-{
- const char *debug_env_string = g_getenv ("AT_SPI_DEBUG");
- gchar *fname;
- gboolean success = FALSE;
-
- if (atk_bridge_initialized)
- {
- return 0;
- }
- atk_bridge_initialized = TRUE;
- atk_bridge_pid = getpid ();
-
- misc = atk_misc_get_instance();
-
- if (g_getenv ("ATK_BRIDGE_REDIRECT_LOG"))
- {
- fname = g_strconcat ("/tmp/", g_get_prgname (), ".at-spi-log", NULL);
- /* make sure we're not being redirected - security issue */
- if (!g_file_test (fname, G_FILE_TEST_IS_SYMLINK))
- freopen (fname, "w", stderr);
- g_free (fname);
- }
-
- if (debug_env_string)
- _dbg = (int) g_ascii_strtod (debug_env_string, NULL);
-
- /* Connect to dbus */
- this_app = spi_app_init (atk_get_root (), argc, argv);
-
- /*
- * We only want to enable the bridge for top level
- * applications, we detect bonobo components by seeing
- * if they were activated with the intention of extracting
- * an impl. by IID - very solid.
- */
-#ifdef WITH_BONOBO
- // TODO: Figure out if this is still needed
- if (bonobo_activation_iid_get ())
-#else
- if (0)