source: trunk/ORBit2-2.14.0/src/idl/interop/IOP.idl

Last change on this file was 92, checked in by cinc, 19 years ago

Orbit2 modified for use with NOM

File size: 6.1 KB
Line 
1// File: IOP.idl
2// From CORBA 3.0: Chapter 13, ORB Interoperability Achitecture
3#ifndef _IOP_IDL_
4#define _IOP_IDL_
5
6#ifdef _PRE_3_0_COMPILER_
7#pragma prefix "omg.org"
8
9#include <orb.idl>
10#else
11import ::CORBA;
12#endif // _PRE_3_0_COMPILER_
13
14module IOP {
15
16#ifndef _PRE_3_0_COMPILER_
17 typeprefix IOP "omg.org";
18#endif // _PRE_3_0_COMPILER_
19
20 // IOR Profiles
21
22 // Standard Protocol Profile tag values
23 typedef unsigned long ProfileId;
24 const ProfileId TAG_INTERNET_IOP = 0;
25 const ProfileId TAG_MULTIPLE_COMPONENTS = 1;
26 const ProfileId TAG_SCCP_IOP = 2;
27
28 struct TaggedProfile {
29 ProfileId tag;
30 sequence <octet> profile_data;
31 };
32
33
34 // The IOR
35
36 // an Interoperable Object Reference is a sequence of
37 // object-specific protocol profiles, plus a type ID.
38 struct IOR {
39 string type_id;
40 sequence <TaggedProfile> profiles;
41 };
42
43
44 // IOR Components
45
46
47 // Standard way of representing multicomponent profiles.
48 // This would be encapsulated in a TaggedProfile.
49
50 typedef unsigned long ComponentId;
51
52 struct TaggedComponent {
53 ComponentId tag;
54 sequence <octet> component_data;
55 };
56
57 typedef sequence <TaggedComponent> MultipleComponentProfile;
58
59 const ComponentId TAG_ORB_TYPE = 0;
60 const ComponentId TAG_CODE_SETS = 1;
61 const ComponentId TAG_POLICIES = 2;
62 const ComponentId TAG_ALTERNATE_IIOP_ADDRESS = 3;
63 const ComponentId TAG_ASSOCIATION_OPTIONS = 13;
64 const ComponentId TAG_SEC_NAME = 14;
65 const ComponentId TAG_SPKM_1_SEC_MECH = 15;
66 const ComponentId TAG_SPKM_2_SEC_MECH = 16;
67 const ComponentId TAG_KerberosV5_SEC_MECH = 17;
68 const ComponentId TAG_CSI_ECMA_Secret_SEC_MECH= 18;
69 const ComponentId TAG_CSI_ECMA_Hybrid_SEC_MECH= 19;
70 const ComponentId TAG_SSL_SEC_TRANS = 20;
71 const ComponentId TAG_CSI_ECMA_Public_SEC_MECH= 21;
72 const ComponentId TAG_GENERIC_SEC_MECH = 22;
73 const ComponentId TAG_FIREWALL_TRANS = 23;
74 const ComponentId TAG_SCCP_CONTACT_INFO = 24;
75 const ComponentId TAG_JAVA_CODEBASE = 25;
76
77 const ComponentId TAG_TRANSACTION_POLICY = 26;
78 const ComponentId TAG_MESSAGE_ROUTER = 30;
79 const ComponentId TAG_OTS_POLICY = 31;
80 const ComponentId TAG_INV_POLICY = 32;
81
82 const ComponentId TAG_CSI_SEC_MECH_LIST = 33;
83 const ComponentId TAG_NULL_TAG = 34;
84 const ComponentId TAG_SECIOP_SEC_TRANS = 35;
85
86 const ComponentId TAG_TLS_SEC_TRANS = 36;
87
88 const ComponentId TAG_ACTIVITY_POLICY = 37;
89
90
91 const ComponentId TAG_COMPLETE_OBJECT_KEY = 5;
92 const ComponentId TAG_ENDPOINT_ID_POSITION = 6;
93 const ComponentId TAG_LOCATION_POLICY = 12;
94 const ComponentId TAG_DCE_STRING_BINDING = 100;
95 const ComponentId TAG_DCE_BINDING_NAME = 101;
96 const ComponentId TAG_DCE_NO_PIPES = 102;
97
98 const ComponentId TAG_DCE_SEC_MECH = 103;
99
100 const ComponentId TAG_INET_SEC_TRANS = 123;
101
102 // Service Contexts
103
104 typedef unsigned long ServiceId;
105 struct ServiceContext {
106 ServiceId context_id;
107 sequence <octet> context_data;
108 };
109 typedef sequence <ServiceContext> ServiceContextList;
110 const ServiceId TransactionService = 0;
111 const ServiceId CodeSets = 1;
112 const ServiceId ChainBypassCheck = 2;
113 const ServiceId ChainBypassInfo = 3;
114 const ServiceId LogicalThreadId = 4;
115 const ServiceId BI_DIR_IIOP = 5;
116 const ServiceId SendingContextRunTime = 6;
117 const ServiceId INVOCATION_POLICIES = 7;
118 const ServiceId FORWARDED_IDENTITY = 8;
119 const ServiceId UnknownExceptionInfo = 9;
120 const ServiceId RTCorbaPriority = 10;
121 const ServiceId RTCorbaPriorityRange = 11;
122 const ServiceId FT_GROUP_VERSION = 12;
123 const ServiceId FT_REQUEST = 13;
124 const ServiceId ExceptionDetailMessage = 14;
125 const ServiceId SecurityAttributeService = 15;
126 const ServiceId ActivityService = 16;
127
128 // Coder Decoder from Portable Interceptor
129
130 local interface Codec {
131 exception InvalidTypeForEncoding {};
132 exception FormatMismatch {};
133 exception TypeMismatch {};
134
135 CORBA::OctetSeq encode (in any data)
136 raises (InvalidTypeForEncoding);
137 any decode (in CORBA::OctetSeq data)
138 raises (FormatMismatch);
139 CORBA::OctetSeq encode_value (in any data)
140 raises (InvalidTypeForEncoding);
141 any decode_value (
142 in CORBA::OctetSeq data,
143 in CORBA::TypeCode tc)
144 raises (FormatMismatch, TypeMismatch);
145 };
146
147 // Codec Factory
148
149 typedef short EncodingFormat;
150 const EncodingFormat ENCODING_CDR_ENCAPS = 0;
151
152 struct Encoding {
153 EncodingFormat format;
154 octet major_version;
155 octet minor_version;
156 };
157
158 local interface CodecFactory {
159 exception UnknownEncoding {};
160 Codec create_codec (in Encoding enc)
161 raises (UnknownEncoding);
162 };
163};
164
165// #include <IOP_DCE.idl>
166
167#endif // _IOP_IDL_
168
Note: See TracBrowser for help on using the repository browser.