1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
/*
+----------------------------------------------------------------------+
| PHP version 4.0 |
+----------------------------------------------------------------------+
| Copyright (c) 1997, 1998, 1999, 2000 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: David Eriksson <david@2good.com> |
+----------------------------------------------------------------------+
*/
/*
* $Id$
* vim: syntax=c tabstop=2 shiftwidth=2
*/
#ifndef __typemanager_h__
#define __typemanager_h__
#include <orb/orbit.h>
typedef struct _TypeManager TypeManager;
typedef struct _InterfaceType InterfaceType;
typedef struct _StructType StructType;
typedef struct _EnumType EnumType;
typedef struct _ExceptionType ExceptionType;
typedef struct _OperationType OperationType;
typedef struct _AttributeType AttributeType;
typedef struct _MemberType MemberType;
typedef struct _ParameterType ParameterType;
typedef struct _EnumMemberType EnumMemberType;
/* type manager */
CORBA_boolean TypeManager_Init(const char * pIdlDirectory);
CORBA_boolean TypeManager_Shutdown();
CORBA_boolean TypeManager_LoadFile(const char * pFilename);
InterfaceType * TypeManager_FindInterface(/*TypeManager * pTypeManager, */
const char * pRepositoryId);
StructType * TypeManager_FindStruct(/*TypeManager * pTypeManager, */
const char * pRepositoryId);
EnumType * TypeManager_FindEnum(/*TypeManager * pTypeManager, */
const char * pRepositoryId);
ExceptionType * TypeManager_FindException(/*TypeManager * pTypeManager, */
const char * pRepositoryId);
/* interface */
OperationType * InterfaceType_FindOperation(InterfaceType * pInterface,
const char * name);
AttributeType * InterfaceType_FindAttribute(InterfaceType * pInterface,
const char * name);
/* operation */
ParameterType * OperationType_GetFirstParameter(OperationType * pOperation);
CORBA_TypeCode OperationType_GetReturnType(OperationType * pOperation);
char * OperationType_GetName(OperationType * pOperation);
CORBA_TypeCode * OperationType_GetExceptionList(OperationType * pOperation);
/* parameter */
CORBA_boolean ParameterType_GetNext(ParameterType * pParameter);
int ParameterType_GetPassingMode(ParameterType * pParameter);
CORBA_TypeCode ParameterType_GetType(ParameterType * pParameter);
CORBA_boolean ParameterType_IsValid(ParameterType * pParameter);
/* attribute */
char * AttributeType_GetName(AttributeType * pAttribute);
CORBA_TypeCode AttributeType_GetType(AttributeType * pAttribute);
CORBA_boolean AttributeType_IsReadonly(AttributeType * pAttribute);
CORBA_boolean AttributeType_IsValid(AttributeType * pAttribute);
/* struct */
MemberType * StructType_GetFirstMember(StructType * pStruct);
char * StructType_GetRepositoryId(StructType * pStruct);
/* exception */
MemberType * ExceptionType_GetFirstMember(ExceptionType * pException);
char * ExceptionType_GetRepositoryId(ExceptionType * pException);
CORBA_TypeCode ExceptionType_GetTypeCode(ExceptionType * pException);
/* member */
CORBA_boolean MemberType_GetNext(MemberType * pMember);
char * MemberType_GetName(MemberType * pMember);
CORBA_TypeCode MemberType_GetType(MemberType * pMember);
CORBA_boolean MemberType_IsValid(MemberType * pMember);
/* enum */
EnumMemberType * EnumType_GetFirstMember(EnumType * pEnum);
CORBA_boolean EnumMemberType_GetNext(EnumMemberType * pEnumMember);
CORBA_boolean EnumMemberType_IsValid(EnumMemberType * pEnumMember);
char * EnumMemberType_GetName(EnumMemberType * pEnumMember);
char * EnumType_GetRepositoryId(EnumType * pEnum);
/* release types */
void AttributeType_release(AttributeType * pMember);
void EnumMemberType_release(EnumMemberType * pMember);
void ExceptionType_release(ExceptionType * pException);
void InterfaceType_release(InterfaceType * pInterface);
void MemberType_release(MemberType * pMember);
void OperationType_release(OperationType * pOperation);
void ParameterType_release(ParameterType * pParameter);
void StructType_release(StructType * pStruct);
void TypeCodeList_release(CORBA_TypeCode * p_typecodes);
#endif /* __typemanager_h__ */
|