-}
-
-static gint
-compare_object_hash (gconstpointer p1, gconstpointer p2)
-{
- CORBA_Environment ev;
- long long diff = ((CORBA_Object_hash ((CORBA_Object) p2, (CORBA_unsigned_long) 0, &ev)) -
- (CORBA_Object_hash ((CORBA_Object) p1, (CORBA_unsigned_long) 0, &ev)));
- return ((diff < 0) ? -1 : ((diff > 0) ? 1 : 0));
-}
-
-static gboolean
-toolkit_listener (GSignalInvocationHint *signal_hint, guint n_param_value,
- const GValue *param_values, gpointer data)
-{
- ;
- return FALSE;
-}
-
-static void
-register_with_toolkit (EventTypeStruct *etype)
-{
- guint listener_id =
- atk_add_global_event_listener (toolkit_listener, g_strconcat (etype->minor, etype->detail, NULL));
-}
-
-static gint
-compare_listener_hash (gconstpointer p1, gconstpointer p2)
-{
- return (((ListenerStruct *)p2)->event_type_hash - ((ListenerStruct *)p1)->event_type_hash);
-}
-
-static void
-parse_event_type (EventTypeStruct *etype, char *event_name)
-{
- static gunichar delimiter = 0;
- char * major_delim_char;
- char * minor_delim_char;
- guint nbytes = 0;
-
- if (!delimiter)
- {
- delimiter = g_utf8_get_char (":");
- }
-
- major_delim_char = g_utf8_strchr (event_name, (gssize) 32, delimiter);
- minor_delim_char = g_utf8_strrchr (event_name, (gssize) 255, delimiter);
-
- nbytes = (guint)((gint64) minor_delim_char -
- (gint64) major_delim_char);
-
- fprintf (stderr, "nbytes = %ld\n", (long) nbytes);
- if (!g_ascii_strncasecmp (event_name, "focus:", 6))
- {
- etype->major = ETYPE_FOCUS;
- }
- else if (!g_ascii_strncasecmp (event_name, "window:", 7))
- {
- etype->major = ETYPE_WINDOW;
- }
- else
- {
- etype->major = ETYPE_TOOLKIT;
- }
-
- if (major_delim_char)
- {
- etype->minor = g_strndup (major_delim_char, nbytes);
- etype->hash = g_str_hash (major_delim_char);
- }
- else
- {
- etype->minor = g_strdup ("");
- etype->hash = g_str_hash ("");
- }
- if (major_delim_char != minor_delim_char)
- {
- etype->detail = g_strdup (minor_delim_char);
- }
- else
- {
- etype->detail = g_strdup ("");
- }
-
-
- /* TODO: don't forget to free the strings from caller when done ! */