| 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
|
|---|
| 11 | import ::CORBA;
|
|---|
| 12 | #endif // _PRE_3_0_COMPILER_
|
|---|
| 13 |
|
|---|
| 14 | module 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 |
|
|---|