5 static CORBA_Environment ev;
6 static AccessibilityRegistry registry;
9 Obj_Add (Accessible object)
11 /* TODO: keep list of live object refs */
12 Accessible *oref = g_malloc (sizeof (Accessible));
19 * Basic SPI initialization and event loop function prototypes
30 CORBA_exception_init(&ev);
32 if (!bonobo_init (&argc, NULL))
34 g_error ("Could not initialize Bonobo");
37 obj_id = "OAFIID:Accessibility_Registry:proto0.1";
39 oclient = bonobo_activation_activate_from_id (obj_id, 0, NULL, &ev);
40 if (ev._major != CORBA_NO_EXCEPTION) {
42 ("AT-SPI error: during registry activation: %s\n"),
43 CORBA_exception_id(&ev));
44 CORBA_exception_free(&ev);
48 if (CORBA_Object_is_nil (oclient, &ev))
50 g_error ("Could not locate registry");
54 registry = (Accessibility_Registry) oclient;
62 SPI_event_main (boolean isGNOMEApp)
64 if (isGNOMEApp) bonobo_main();
65 else CORBA_ORB_run (bonobo_orb(), &ev);
68 /* Not Yet Implemented */
75 /* Not Yet Implemented */
77 SPI_nextEvent (boolean waitForEvent)
88 AccessibleEventListener *
89 CreateEventListener (AccessibleEventListenerCB callback)
91 AccessibleEventListener *listener = accessible_event_listener_new ();
94 accessible_event_listener_add_callback (listener, callback);
99 EventListener_addCallback (AccessibleEventListener *listener,
100 AccessibleEventListenerCB callback)
102 accessible_event_listener_add_callback (listener, callback);
107 EventListener_removeCallback (AccessibleEventListener *listener,
108 AccessibleEventListenerCB callback)
110 accessible_event_listener_remove_callback (listener, callback);
116 * Global functions serviced by the registry
121 RegisterGlobalEventListener (AccessibleEventListener *listener,
124 Accessibility_Registry_registerGlobalEventListener (
126 (Accessibility_EventListener)
127 bonobo_object_corba_objref (bonobo_object (listener)),
131 if (ev._major != CORBA_NO_EXCEPTION)
144 return Accessibility_Registry_getDesktopCount (registry, &ev);
150 return Obj_Add (Accessibility_Registry_getDesktop (registry, (CORBA_short) n, &ev));
154 getDesktopList (Accessible **list)
160 /* Not Yet Implemented */
162 registerKeystrokeListener (KeystrokeListener *listener)
167 /* Not Yet Implemented */
169 generateKeyEvent (long keyCode, long meta)
174 /* Not Yet Implemented */
176 generateMouseEvent (long x, long y, char *name)
183 * Accessible function prototypes
188 Accessible_ref (Accessible *obj)
190 Accessibility_Accessible_ref (*obj, &ev);
196 Accessible_unref (Accessible *obj)
198 Accessibility_Accessible_unref (*obj, &ev);
203 Accessible_getName (Accessible *obj)
205 return Accessibility_Accessible__get_name (*obj, &ev);
209 Accessible_getDescription (Accessible *obj)
211 return Accessibility_Accessible__get_description (*obj, &ev);
215 Accessible_getParent (Accessible *obj)
217 return Obj_Add (Accessibility_Accessible__get_parent (*obj, &ev));
221 Accessible_getChildCount (Accessible *obj)
223 return Accessibility_Accessible_getChildCount (*obj, &ev);
227 Accessible_getChildAtIndex (Accessible *obj,
230 return Obj_Add (Accessibility_Accessible_getChildAtIndex (*obj, childIndex, &ev));
234 Accessible_getIndexInParent (Accessible *obj)
236 return Accessibility_Accessible_getIndexInParent (*obj, &ev);
239 /* Not Yet Implemented */
240 AccessibleRelation **
241 Accessible_getRelationSet (Accessible *obj)
246 /* Not Yet Implemented */
248 Accessible_getRole (Accessible *obj)
253 /* Not Yet Implemented */
255 Accessible_getStateSet (Accessible *obj)
263 * AccessibleApplication function prototypes
268 AccessibleApplication_ref (AccessibleApplication *obj)
270 Accessibility_Application_ref (*obj, &ev);
275 AccessibleApplication_unref (AccessibleApplication *obj)
277 Accessibility_Application_unref (*obj, &ev);
282 AccessibleApplication_getToolkitName (AccessibleApplication *obj)
284 return Accessibility_Application__get_toolkitName (*obj, &ev);
288 AccessibleApplication_getVersion (AccessibleApplication *obj)
290 return Accessibility_Application__get_version (*obj, &ev);
294 AccessibleApplication_getID (AccessibleApplication *obj)
296 return Accessibility_Application__getID (*obj, &ev);
299 /* Not Yet Implemented */
301 AccessibleApplication_pause (AccessibleApplication *obj)
306 /* Not Yet Implemented */
308 AccessibleApplication_resume (AccessibleApplication *obj)