X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cspi%2Fspi_main.c;h=faa824554c60f3de7fcc7beaa6557e8b2c58d08f;hb=66c4375c7cd9a0a01e79f562e1bb0326fc4dcd21;hp=fcf61d3d24e39030bc2cc48d7dc232bc712534a4;hpb=fdf87471b3d56d7a66d31f33c1ef3d631e9ef51c;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/cspi/spi_main.c b/cspi/spi_main.c index fcf61d3..faa8245 100644 --- a/cspi/spi_main.c +++ b/cspi/spi_main.c @@ -1,18 +1,3 @@ -#include -#include -#include "spi.h" - -static CORBA_Environment ev; -static AccessibilityRegistry registry; - -Accessible * -Obj_Add (Accessible object) -{ - /* TODO: keep list of live object refs */ - Accessible *oref = g_malloc (sizeof (Accessible)); - *oref = object; - return oref; -} /* * @@ -20,6 +5,13 @@ Obj_Add (Accessible object) * */ +/** + * SPI_init: + * + * Connects to the accessibility registry and initializes the SPI. + * + * Returns: 0 on success, otherwise an integer error code. + **/ int SPI_init (void) { @@ -58,256 +50,75 @@ SPI_init (void) return 0; } +/** + * SPI_event_main: + * @isGNOMEApp: a #boolean indicating whether the client of the SPI + * will use the Gnome event loop or not. + * + * Starts/enters the main event loop for the SPI services. + * + * (NOTE: This method does not return control, it is exited via a call to exit() + * from within an event handler). + * + **/ void SPI_event_main (boolean isGNOMEApp) { - if (isGNOMEApp) bonobo_main(); - else CORBA_ORB_run (bonobo_orb(), &ev); + if (isGNOMEApp) { + g_atexit(SPI_exit); + bonobo_main(); + } + else { + /* TODO: install signal handlers to do cleanup */ + CORBA_ORB_run (bonobo_orb(), &ev); + fprintf (stderr, "orb loop exited...\n"); + } } -/* Not Yet Implemented */ +/** + * SPI_event_is_ready: + * + * Checks to see if an SPI event is waiting in the event queue. + * Used by clients that don't wish to use SPI_event_main(). + * Not Yet Implemented. + * + * Returns: #TRUE if an event is waiting, otherwise #FALSE. + * + **/ boolean SPI_eventIsReady () { return FALSE; } -/* Not Yet Implemented */ -AccessibleEvent * -SPI_nextEvent (boolean waitForEvent) -{ - return NULL; -} - -void -SPI_exit (void) -{ - exit(0); -} - -AccessibleEventListener * -CreateEventListener (AccessibleEventListenerCB callback) -{ - AccessibleEventListener *listener = accessible_event_listener_new (); - if (callback) - { - accessible_event_listener_add_callback (listener, callback); - } - return listener; -} - -boolean -EventListener_addCallback (AccessibleEventListener *listener, - AccessibleEventListenerCB callback) -{ - accessible_event_listener_add_callback (listener, callback); - return TRUE; -} - -boolean -EventListener_removeCallback (AccessibleEventListener *listener, - AccessibleEventListenerCB callback) -{ - accessible_event_listener_remove_callback (listener, callback); - return TRUE; -} - -/* - * - * Global functions serviced by the registry +/** + * SPI_nextEvent: * - */ - -boolean -RegisterGlobalEventListener (AccessibleEventListener *listener, - char *eventType) -{ - Accessibility_Registry_registerGlobalEventListener ( - registry, - (Accessibility_EventListener) - bonobo_object_corba_objref (bonobo_object (listener)), - eventType, - &ev); - - if (ev._major != CORBA_NO_EXCEPTION) - { - return FALSE; - } - else - { - return TRUE; - } -} - -int -GetDesktopCount () -{ - return Accessibility_Registry_getDesktopCount (registry, &ev); -} - -Accessible -*getDesktop (int n) -{ - return Obj_Add (Accessibility_Registry_getDesktop (registry, (CORBA_short) n, &ev)); -} - -int -getDesktopList (Accessible **list) -{ - *list = NULL; - return 0; -} - -/* Not Yet Implemented */ -void -registerKeystrokeListener (KeystrokeListener *listener) -{ - ; -} - -/* Not Yet Implemented */ -void -generateKeyEvent (long keyCode, long meta) -{ - ; -} - -/* Not Yet Implemented */ -void -generateMouseEvent (long x, long y, char *name) -{ - ; -} - -/* + * Gets the next event in the SPI event queue; blocks if no event + * is pending. + * Used by clients that don't wish to use SPI_event_main(). + * Not Yet Implemented. * - * Accessible function prototypes + * Returns: the next #AccessibleEvent in the SPI event queue. * - */ - -int -Accessible_ref (Accessible *obj) -{ - Accessibility_Accessible_ref (*obj, &ev); - return 0; -} - - -int -Accessible_unref (Accessible *obj) -{ - Accessibility_Accessible_unref (*obj, &ev); - return 0; -} - -char * -Accessible_getName (Accessible *obj) -{ - return Accessibility_Accessible__get_name (*obj, &ev); -} - -char * -Accessible_getDescription (Accessible *obj) -{ - return Accessibility_Accessible__get_description (*obj, &ev); -} - -Accessible * -Accessible_getParent (Accessible *obj) -{ - return Obj_Add (Accessibility_Accessible__get_parent (*obj, &ev)); -} - -long -Accessible_getChildCount (Accessible *obj) -{ - return Accessibility_Accessible__get_childCount (*obj, &ev); -} - -Accessible * -Accessible_getChildAtIndex (Accessible *obj, - long childIndex) -{ - return Obj_Add (Accessibility_Accessible_getChildAtIndex (*obj, childIndex, &ev)); -} - -long -Accessible_getIndexInParent (Accessible *obj) -{ - return Accessibility_Accessible_getIndexInParent (*obj, &ev); -} - -/* Not Yet Implemented */ -AccessibleRelation ** -Accessible_getRelationSet (Accessible *obj) -{ - return NULL; -} - -/* Not Yet Implemented */ -char * -Accessible_getRole (Accessible *obj) -{ - return ""; -} - -/* Not Yet Implemented */ -AccessibleStateSet * -Accessible_getStateSet (Accessible *obj) + **/ +SpiAccessibleEvent * +SPI_nextEvent (boolean waitForEvent) { return NULL; } - -/* +/** + * SPI_exit: * - * AccessibleApplication function prototypes + * Disconnects from the Accessibility SpiRegistry and releases resources. + * Not Yet Implemented. * - */ - -int -AccessibleApplication_ref (AccessibleApplication *obj) -{ - Accessibility_Application_ref (*obj, &ev); - return 0; -} - -int -AccessibleApplication_unref (AccessibleApplication *obj) -{ - Accessibility_Application_unref (*obj, &ev); - return 0; -} - -char * -AccessibleApplication_getToolkitName (AccessibleApplication *obj) -{ - return Accessibility_Application__get_toolkitName (*obj, &ev); -} - -char * -AccessibleApplication_getVersion (AccessibleApplication *obj) -{ - return Accessibility_Application__get_version (*obj, &ev); -} - -long -AccessibleApplication_getID (AccessibleApplication *obj) -{ - return Accessibility_Application__get_id (*obj, &ev); -} - -/* Not Yet Implemented */ -boolean -AccessibleApplication_pause (AccessibleApplication *obj) -{ - return FALSE; -} - -/* Not Yet Implemented */ -boolean -AccessibleApplication_resume (AccessibleApplication *obj) + **/ +void +SPI_exit (void) { - return FALSE; + fprintf (stderr, "bye-bye!\n"); + exit(0); }