2001-12-11 Michael Meeks <michael@ximian.com>
[platform/core/uifw/at-spi2-atk.git] / cspi / spi-private.h
1 #ifndef _SPI_PRIVATE_H_
2 #define _SPI_PRIVATE_H_
3
4 /* Private internal implementation details of at-spi. */
5
6 #include <libspi/Accessibility.h>
7 #include <cspi/spi.h>
8 #include "cspi/cspi-lowlevel.h"
9 #include "cspi/spi-listener.h"
10
11 struct _Accessible {
12         CORBA_Object objref;
13         /* And some other bits */
14         guint        ref_count;
15 };
16
17 #define CSPI_OBJREF(a) (((Accessible *)(a))->objref)
18
19 CORBA_Environment     *cspi_ev               (void);
20 SPIBoolean             cspi_exception        (void);
21 Accessibility_Registry cspi_registry         (void);
22 Accessible            *cspi_object_add       (CORBA_Object         corba_object);
23 void                   cspi_object_ref       (Accessible          *accessible);
24 void                   cspi_object_unref     (Accessible          *accessible);
25 SPIBoolean             cspi_accessible_is_a  (Accessible          *obj,
26                                               const char          *interface_name);
27
28 #define cspi_return_if_fail(val)                \
29         if (!(val))                             \
30                 return
31 #define cspi_return_val_if_fail(val, ret)       \
32         if (!(val))                             \
33                 return (ret)
34
35 #define cspi_return_if_ev(err)                  \
36         if (!cspi_check_ev (err))               \
37                 return;
38 #define cspi_return_val_if_ev(err, ret) \
39         if (!cspi_check_ev (err))               \
40                 return (ret);
41
42 #endif /* _SPI_PRIVATE_H_ */