Always emit children-changed, property-change, and state-changed events
[platform/core/uifw/at-spi2-atk.git] / cspi / cspi-lowlevel.h
1 /*
2  * AT-SPI - Assistive Technology Service Provider Interface
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2002 Ximian, Inc.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22
23 #ifndef _SPI_LOWLEVEL_H_
24 #define _SPI_LOWLEVEL_H_
25
26 /*
27  * Private internal - details of the lowlevel at-spi
28  * implementation abstraction
29  */
30
31 #include "cspi/spi-private.h"
32
33 SPIBoolean   cspi_check_ev           (const char *error_string);
34 char        *cspi_exception_get_text (void);
35 void         cspi_main               (void);
36 void         cspi_main_quit          (void);
37
38 /* Listener bits */
39
40 gpointer     cspi_event_listener_new           (void);
41 void         cspi_event_listener_unref         (AccessibleEventListener      *listener);
42 char *cspi_device_listener_get_path     (CSpiDeviceListener *listener);
43 void         cspi_event_listener_add_cb        (AccessibleEventListener      *listener,
44                                                 AccessibleEventListenerCB     callback,
45                                                 void                         *user_data);
46 void         cspi_event_listener_remove_cb     (AccessibleEventListener      *listener,
47                                                 AccessibleEventListenerCB     callback); 
48 gpointer     cspi_keystroke_listener_new       (void);
49 void         cspi_keystroke_listener_unref     (AccessibleKeystrokeListener  *listener);
50 char *cspi_keystroke_listener_get_path (AccessibleKeystrokeListener  *listener);
51 void         cspi_keystroke_listener_add_cb    (AccessibleKeystrokeListener  *listener,
52                                                 AccessibleKeystrokeListenerCB callback,
53                                                 void                         *user_data);
54 void         cspi_keystroke_listener_remove_cb (AccessibleKeystrokeListener  *listener,
55                                                 AccessibleKeystrokeListenerCB callback);
56
57 void cspi_dispatch_event (AccessibleEvent *e);
58 DBusHandlerResult cspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message, void *user_data);
59 DBusHandlerResult cspi_dbus_handle_deviceEvent (DBusConnection *bus, DBusMessage *message, void *user_data);
60
61 Accessible *cspi_ref_accessible (const char *app, const char *path);
62 Accessible *cspi_ref_related_accessible (Accessible *obj, const char *path);
63
64 dbus_bool_t cspi_dbus_call (Accessible *obj, const char *interface, const char *method, DBusError *error, const char *type, ...);
65 dbus_bool_t cspi_dbus_get_property (Accessible *obj, const char *interface, const char *name, DBusError *error, const char *type, void *data);
66
67 extern const char *spi_bus_registry;
68 extern const char *spi_interface_accessible;
69 extern const char *spi_interface_action;
70 extern const char *spi_interface_application;
71 extern const char *spi_interface_component;
72 extern const char *spi_interface_dec;
73 extern const char *spi_interface_desktop;
74 extern const char *spi_interface_device_event_listener;
75 extern const char *spi_interface_document;
76 extern const char *spi_interface_editable_text;
77 extern const char *spi_interface_hyperlink;
78 extern const char *spi_interface_hypertext;
79 extern const char *spi_interface_image;
80 extern const char *spi_interface_registry;
81 extern const char *spi_interface_selection;
82 extern const char *spi_interface_table;
83 extern const char *spi_interface_text;
84 extern const char *spi_interface_tree;
85 extern const char *spi_interface_value;
86 extern const char *spi_path_dec;
87 extern const char *spi_path_registry;
88
89 #endif /* _SPI_LOWLEVEL_H_ */