* cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
[platform/core/uifw/at-spi2-atk.git] / cspi / spi-private.h
1 /*
2  * AT-SPI - Assistive Technology Service Provider Interface
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001 Sun Microsystems 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_PRIVATE_H_
24 #define _SPI_PRIVATE_H_
25
26 /* Private internal implementation details of at-spi. */
27
28 #include <libspi/Accessibility.h>
29 #include <cspi/spi.h>
30 #include "cspi/cspi-lowlevel.h"
31 #include "cspi/spi-listener.h"
32
33 struct _Accessible {
34         CORBA_Object objref;
35         /* And some other bits */
36         guint        ref_count;
37 };
38
39 #define CSPI_OBJREF(a) (((Accessible *)(a))->objref)
40
41 CORBA_Environment     *cspi_ev               (void);
42 SPIBoolean             cspi_exception        (void);
43 Accessibility_Registry cspi_registry         (void);
44 Accessible            *cspi_object_add       (CORBA_Object         corba_object);
45 void                   cspi_object_ref       (Accessible          *accessible);
46 void                   cspi_object_unref     (Accessible          *accessible);
47 SPIBoolean             cspi_accessible_is_a  (Accessible          *obj,
48                                               const char          *interface_name);
49
50 #define cspi_return_if_fail(val)                \
51         if (!(val))                             \
52                 return
53 #define cspi_return_val_if_fail(val, ret)       \
54         if (!(val))                             \
55                 return (ret)
56
57 #define cspi_return_if_ev(err)                  \
58         if (!cspi_check_ev (err))               \
59                 return;
60 #define cspi_return_val_if_ev(err, ret) \
61         if (!cspi_check_ev (err))               \
62                 return (ret);
63
64 #endif /* _SPI_PRIVATE_H_ */