-#define bridge_threads_leave() \
- if (!during_init_shutdown && !g_main_context_is_owner (NULL)) atk_misc_threads_leave(misc);
-#define bridge_threads_enter() \
- if (!during_init_shutdown && !g_main_context_is_owner (NULL)) atk_misc_threads_enter(misc);
-
-typedef struct _SpiAppData SpiAppData;
-struct _SpiAppData
-{
- AtkObject *root;
- DRouteData droute;
-};
-
-int _dbg = 0;
-static const char *registry = NULL;
-static char *device_event_controller = NULL;
-static SpiAppData *this_app = NULL;
-static gboolean registry_died = FALSE;
-static gboolean atk_listeners_registered = FALSE;
-static gint toplevels = 0;
-static gboolean exiting = FALSE;
-static AtkMisc *misc = NULL;
-static gboolean during_init_shutdown = TRUE;
-
-static guint atk_signal_text_changed;
-static guint atk_signal_children_changed;
-static guint atk_signal_active_descendant_changed;
-static guint atk_signal_text_selection_changed;
-
-/* NOT YET USED
- static guint atk_signal_row_reordered;
- static guint atk_signal_row_inserted;
- static guint atk_signal_row_deleted;
- static guint atk_signal_column_reordered;
- static guint atk_signal_column_inserted;
- static guint atk_signal_column_deleted;
-*/
-
-static guint atk_signal_link_selected;
-static guint atk_signal_bounds_changed;
-
-static const char *spi_atk_bridge_get_registry (void);
-static gboolean spi_atk_bridge_do_registration (void);
-static void spi_atk_bridge_toplevel_added (AtkObject *object,
- guint index,
- AtkObject *child);
-static void spi_atk_bridge_toplevel_removed (AtkObject *object,
- guint index,
- AtkObject *child);
-
-static void spi_atk_bridge_exit_func (void);
-static void spi_atk_register_event_listeners (void);
-static void spi_atk_bridge_focus_tracker (AtkObject *object);
-static gchar *spi_atk_bridge_get_registry_ior (void);
-static void spi_atk_bridge_register_application (const char *registry);
-static gboolean spi_atk_bridge_property_event_listener (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-
-static gboolean
-spi_atk_bridge_window_event_listener (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static gboolean
-spi_atk_bridge_document_event_listener (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static gboolean
-spi_atk_bridge_state_event_listener (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static gboolean spi_atk_bridge_signal_listener (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-static gint spi_atk_bridge_key_listener (AtkKeyEventStruct *event,
- gpointer data);
-static void spi_atk_tidy_windows (void);
-static void deregister_application (SpiAppData *app);
-static void reinit_register_vars (void);
-
-/* For automatic libgnome init */
-extern void gnome_accessibility_module_init (void);
-extern void gnome_accessibility_module_shutdown (void);
-
-static int atk_bridge_initialized = FALSE;
-static pid_t atk_bridge_pid = 0;
-static guint atk_bridge_focus_tracker_id = 0;
-static guint atk_bridge_key_event_listener_id = 0;
-static GArray *listener_ids = NULL;