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);
100 EventListener_addCallback (AccessibleEventListener *listener,
101 AccessibleEventListenerCB callback)
103 accessible_event_listener_add_callback (listener, callback);
108 EventListener_removeCallback (AccessibleEventListener *listener,
109 AccessibleEventListenerCB callback)
111 accessible_event_listener_remove_callback (listener, callback);
117 * Global functions serviced by the registry
122 registerGlobalEventListener (AccessibleEventListener *listener,
125 Accessibility_Registry_registerGlobalEventListener (
127 (Accessibility_EventListener)
128 bonobo_object_corba_objref (bonobo_object (listener)),
132 if (ev._major != CORBA_NO_EXCEPTION)
145 return Accessibility_Registry_getDesktopCount (registry, &ev);
151 return Obj_Add (Accessibility_Registry_getDesktop (registry, (CORBA_short) n, &ev));
155 getDesktopList (Accessible **list)
161 /* Not Yet Implemented */
163 registerKeystrokeListener (KeystrokeListener *listener)
168 /* Not Yet Implemented */
170 generateKeyEvent (long keyCode, long meta)
175 /* Not Yet Implemented */
177 generateMouseEvent (long x, long y, char *name)
184 * Accessible function prototypes
189 Accessible_ref (Accessible *obj)
191 Accessibility_Accessible_ref (*obj, &ev);
197 Accessible_unref (Accessible *obj)
199 Accessibility_Accessible_unref (*obj, &ev);
204 Accessible_getName (Accessible *obj)
206 return Accessibility_Accessible__get_name (*obj, &ev);
210 Accessible_getDescription (Accessible *obj)
212 return Accessibility_Accessible__get_description (*obj, &ev);
216 Accessible_getParent (Accessible *obj)
218 return Obj_Add (Accessibility_Accessible__get_parent (*obj, &ev));
222 Accessible_getChildCount (Accessible *obj)
224 return Accessibility_Accessible__get_childCount (*obj, &ev);
228 Accessible_getChildAtIndex (Accessible *obj,
231 return Obj_Add (Accessibility_Accessible_getChildAtIndex (*obj, childIndex, &ev));
235 Accessible_getIndexInParent (Accessible *obj)
237 return Accessibility_Accessible_getIndexInParent (*obj, &ev);
240 /* Not Yet Implemented */
241 AccessibleRelation **
242 Accessible_getRelationSet (Accessible *obj)
247 /* Not Yet Implemented */
249 Accessible_getRole (Accessible *obj)
254 /* Not Yet Implemented */
256 Accessible_getStateSet (Accessible *obj)
264 * AccessibleApplication function prototypes
269 AccessibleApplication_ref (AccessibleApplication *obj)
271 Accessibility_Application_ref (*obj, &ev);
276 AccessibleApplication_unref (AccessibleApplication *obj)
278 Accessibility_Application_unref (*obj, &ev);
283 AccessibleApplication_getToolkitName (AccessibleApplication *obj)
285 return Accessibility_Application__get_toolkitName (*obj, &ev);
289 AccessibleApplication_getVersion (AccessibleApplication *obj)
291 return Accessibility_Application__get_version (*obj, &ev);
295 AccessibleApplication_getID (AccessibleApplication *obj)
297 return Accessibility_Application__get_id (*obj, &ev);
300 /* Not Yet Implemented */
302 AccessibleApplication_pause (AccessibleApplication *obj)
307 /* Not Yet Implemented */
309 AccessibleApplication_resume (AccessibleApplication *obj)