X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=libspi%2Feventlistener.c;h=38ac8f9a13d5ea2dd3e8c90a9d863fd5c936ba6f;hb=f546ac72097fabd106a0cf277d4db389b811014c;hp=2a3bc4f8018c2ee66bca0e48a25e4c467a920abf;hpb=a5d5578da93dc5a9c296b8e37012305c62ea9f51;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/libspi/eventlistener.c b/libspi/eventlistener.c index 2a3bc4f..38ac8f9 100644 --- a/libspi/eventlistener.c +++ b/libspi/eventlistener.c @@ -20,45 +20,30 @@ * Boston, MA 02111-1307, USA. */ -/* - * accessibleeventlistener.c: bonobo implementation of Listener.idl, - * with added ability to attach/remove in-process callbacks. - * - */ +/* accessibleeventlistener.c: implementation of SpiListener.idl */ +#include #ifdef SPI_DEBUG #include #endif +#include -#include -#include -#include +/* Our parent Gtk object type */ +#define PARENT_TYPE SPI_LISTENER_TYPE -/* - * This pulls the definition for the BonoboObject (GType) - */ -#include "accessibleeventlistener.h" - -/* - * Our parent Gtk object type - */ -#define PARENT_TYPE LISTENER_TYPE - -/* - * A pointer to our parent object class - */ -static ListenerClass *accessible_event_listener_parent_class; +/* A pointer to our parent object class */ +static SpiListenerClass *spi_event_listener_parent_class; /* * Implemented GObject::finalize */ static void -accessible_event_listener_object_finalize (GObject *object) +spi_event_listener_object_finalize (GObject *object) { #ifdef SPI_DEBUG - fprintf(stderr, "listener_object_finalize called\n"); + fprintf(stderr, "spi_listener_object_finalize called\n"); #endif - ((GObjectClass *) accessible_event_listener_parent_class)->finalize (object); + ((GObjectClass *) spi_event_listener_parent_class)->finalize (object); } /* @@ -72,93 +57,61 @@ impl_accessible_event_notify_event (PortableServer_Servant servant, { int n; int len; - VoidEventListenerCB cb; - AccessibleEventListener *listener = ACCESSIBLE_EVENT_LISTENER ( + VoidSpiEventListenerCB cb; + SpiEventListener *listener = SPI_ACCESSIBLE_EVENT_SPI_LISTENER ( bonobo_object_from_servant (servant)); len = g_list_length (listener->callbacks); for (n=0; ncallbacks, n); + cb = (VoidSpiEventListenerCB) g_list_nth_data (listener->callbacks, n); if (cb) { (*cb) (e); } } - Accessibility_Accessible_unref (e->source, ev); + /* Accessibility_Accessible_unref (e->source, ev); */ } static void -accessible_event_listener_class_init (AccessibleEventListenerClass *klass) +spi_event_listener_class_init (SpiEventListenerClass *klass) { GObjectClass * object_class = (GObjectClass *) klass; - ListenerClass * listener_class = (ListenerClass *) klass; - POA_Accessibility_EventListener__epv *epv = &listener_class->epv; - accessible_event_listener_parent_class = g_type_class_ref (LISTENER_TYPE); + SpiListenerClass * spi_listener_class = (SpiListenerClass *) klass; + POA_Accessibility_EventListener__epv *epv = &spi_listener_class->epv; + spi_event_listener_parent_class = g_type_class_ref (SPI_LISTENER_TYPE); - object_class->finalize = accessible_event_listener_object_finalize; + object_class->finalize = spi_event_listener_object_finalize; epv->notifyEvent = impl_accessible_event_notify_event; } static void -accessible_event_listener_init (AccessibleEventListener *listener) +spi_event_listener_init (SpiEventListener *listener) { listener->callbacks = NULL; } -GType -accessible_event_listener_get_type (void) -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo tinfo = { - sizeof (AccessibleEventListenerClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) accessible_event_listener_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class data */ - sizeof (Listener), - 0, /* n preallocs */ - (GInstanceInitFunc) accessible_event_listener_init, - NULL /* value table */ - }; - /* - * Here we use bonobo_type_unique instead of - * gtk_type_unique, this auto-generates a load of - * CORBA structures for us. All derived types must - * use bonobo_type_unique. - */ - type = bonobo_type_unique ( - PARENT_TYPE, - POA_Accessibility_EventListener__init, - NULL, - G_STRUCT_OFFSET (ListenerClass, epv), - &tinfo, - "AccessibleEventListener"); - } - - return type; -} +BONOBO_TYPE_FUNC (SpiEventListener, + PARENT_TYPE, + spi_event_listener); -AccessibleEventListener * -accessible_event_listener_new () +SpiEventListener * +spi_event_listener_new () { - AccessibleEventListener *retval = - ACCESSIBLE_EVENT_LISTENER (g_object_new (accessible_event_listener_get_type (), NULL)); + SpiEventListener *retval = + SPI_ACCESSIBLE_EVENT_SPI_LISTENER (g_object_new (spi_event_listener_get_type (), NULL)); return retval; } -void accessible_event_listener_add_callback (AccessibleEventListener *listener, - VoidEventListenerCB callback) +void spi_event_listener_add_callback (SpiEventListener *listener, + VoidSpiEventListenerCB callback) { listener->callbacks = g_list_append (listener->callbacks, callback); } -void accessible_event_listener_remove_callback (AccessibleEventListener *listener, - VoidEventListenerCB callback) +void spi_event_listener_remove_callback (SpiEventListener *listener, + VoidSpiEventListenerCB callback) { listener->callbacks = g_list_remove (listener->callbacks, callback); }