1 #ifndef _POA_BASICS_H_
2 #define _POA_BASICS_H_ 1
3 
4 #include <glib.h>
5 
6 G_BEGIN_DECLS
7 
8 #if !defined(_PortableServer_Servant_defined)
9 #define _PortableServer_Servant_defined 1
10 	typedef gpointer PortableServer_Servant;
11 #else
12 #error "Include mixup: poa-defs.h included before poa-basics.h"
13 #endif
14 
15 #if !defined(ORBIT_DECL_PortableServer_POA) && !defined(_PortableServer_POA_defined)
16 #define ORBIT_DECL_PortableServer_POA 1
17 #define _PortableServer_POA_defined 1
18 	typedef struct PortableServer_POA_type *PortableServer_POA;
19 #endif
20 
21 typedef struct {
22 	void                *_private;
23 	void               (*finalize)      (PortableServer_Servant,
24 					     CORBA_Environment *);
25 	PortableServer_POA (*default_POA)   (PortableServer_Servant,
26 					     CORBA_Environment *);
27 	void               (*add_ref)       (PortableServer_Servant,
28 					     CORBA_Environment *);
29 	void               (*remove_ref)    (PortableServer_Servant,
30 					     CORBA_Environment *);
31 	CORBA_InterfaceDef (*get_interface) (PortableServer_Servant,
32                                              CORBA_Environment *);
33 	CORBA_boolean      (*is_a)          (PortableServer_Servant,
34 					     const char *,
35 					     CORBA_Environment *);
36 	CORBA_boolean      (*non_existent)  (PortableServer_Servant,
37 					     CORBA_Environment *);
38 } PortableServer_ServantBase__epv;
39 
40 typedef PortableServer_ServantBase__epv *PortableServer_ServantBase__vepv;
41 
42 typedef struct {
43 	void                             *_private;
44 	PortableServer_ServantBase__vepv *vepv;
45 } PortableServer_ServantBase;
46 
47 typedef PortableServer_ServantBase__epv  PortableServer_RefCountServantBase__epv;
48 typedef PortableServer_ServantBase__epv *PortableServer_RefCountServantBase__vepv;
49 typedef PortableServer_ServantBase       PortableServer_RefCountServantBase;
50 
51 #if defined(ORBIT2_INTERNAL_API) || defined (ORBIT2_STUBS_API)
52 
53 typedef struct ORBit_POAObject_type *ORBit_POAObject;
54 typedef struct ORBit_OAObject_type  *ORBit_OAObject;
55 
56 typedef gshort ORBit_VepvIdx;
57 
58 typedef void               (*ORBitSmallSkeleton) (PortableServer_ServantBase *servant,
59 						  gpointer                    ret,
60 						  gpointer                   *args,
61 						  gpointer                    ctx,
62 						  CORBA_Environment          *ev,
63 						  gpointer                    implementation);
64 
65 typedef ORBitSmallSkeleton (*ORBit_impl_finder)
66 						 (PortableServer_ServantBase *servant,
67 						  const char                 *method,
68 						  gpointer                   *m_data,
69 						  gpointer                   *implementation);
70 /* stub compatibility */
71 typedef ORBit_impl_finder ORBit_small_impl_finder;
72 
73 #endif /* defined(ORBIT2_INTERNAL_API) || defined (ORBIT2_STUBS_API) */
74 
75 G_END_DECLS
76 
77 #endif /* _POA_BASICS_H_ 1 */
78