#pragma prefix "omg.org" #ifndef _IOP_IDL_ #define _IOP_IDL_ #include "orb.idl" module IOP { typedef unsigned long ProfileId; const ProfileId TAG_INTERNET_IOP = 0; const ProfileId TAG_MULTIPLE_COMPONENTS = 1; struct TaggedProfile { ProfileId tag; sequence profile_data; }; struct IOR { string type_id; sequence profiles; }; typedef unsigned long ComponentId; const ComponentId TAG_ORB_TYPE = 0; const ComponentId TAG_CODE_SETS= 1; const ComponentId TAG_POLICIES= 2; const ComponentId TAG_ALTERNATIVE_IIOP_ADDRESS = 3; const ComponentId TAG_ASSOCIATION_OPTIONS = 13; const ComponentId TAG_JAVA_CODEBASE = 25; // ... others struct TaggedComponent { ComponentId tag; sequence component_data; }; typedef sequence MultipleComponentProfile; typedef unsigned long ServiceId; struct ServiceContext { ServiceId context_id; sequence context_data; }; typedef sequence ServiceContextList; const ServiceId TransactionService = 0; const ServiceId CodeSets = 1; const ServiceId ChainBypassCheck = 2; const ServiceId ChainBypassInfo = 3; const ServiceId LogicalThreadId = 4; const ServiceId BI_DIR_IIOP = 5; const ServiceId SendingContextRunTime = 6; const ServiceId INVOCATION_POLICIES = 7; const ServiceId FORWARDED_IDENTITY = 8; const ServiceId UnknownExceptionInfo = 9; const ServiceId RTCorbaPriority = 10; const ServiceId RTCorbaPriorityRange = 11; const ServiceId ExceptionDetailMessage = 14; typedef sequence TaggedComponentSeq; interface Codec { exception InvalidTypeForEncoding {}; exception FormatMismatch {}; exception TypeMismatch {}; CORBA::OctetSeq encode (in any data) raises (InvalidTypeForEncoding); any decode (in CORBA::OctetSeq data) raises (FormatMismatch); CORBA::OctetSeq encode_value (in any data) raises (InvalidTypeForEncoding); any decode_value (in CORBA::OctetSeq data, in CORBA::TypeCode tc) raises (FormatMismatch, TypeMismatch); }; typedef short EncodingFormat; const EncodingFormat ENCODING_CDR_ENCAPS = 0; struct Encoding { EncodingFormat format; octet major_version; octet minor_version; }; interface CodecFactory { exception UnknownEncoding {}; Codec create_codec (in Encoding enc) raises (UnknownEncoding); }; }; // IOP module #endif