Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / TAO / tao / CodecFactory / IOP_Codec.pidl
blobd6a577485b15433aa1de8a0a9b7614d4d0676535
1 // -*- IDL -*-
3 /**
4  * @file IOP_Codec.pidl
5  *
6  * @brief Pre-compiled IDL source for the IOP module.
7  */
9 #ifndef TAO_IOP_CODEC_PIDL
10 #define TAO_IOP_CODEC_PIDL
12 #include "tao/Typecode_types.pidl"
13 #include "tao/OctetSeq.pidl"
14 #include "tao/CONV_FRAME.pidl"
16 #pragma prefix "omg.org"
18 module IOP
20   local interface Codec {
21     exception InvalidTypeForEncoding {};
22     exception FormatMismatch {};
23     exception TypeMismatch {};
25     CORBA::OctetSeq encode (in any data) raises (InvalidTypeForEncoding);
26     any decode (in CORBA::OctetSeq data) raises (FormatMismatch);
27     CORBA::OctetSeq encode_value (in any data) raises (InvalidTypeForEncoding);
28     any decode_value (in CORBA::OctetSeq data, in CORBA::TypeCode tc)
29       raises (FormatMismatch, TypeMismatch);
30   };
32   typedef short EncodingFormat;
33   const EncodingFormat ENCODING_CDR_ENCAPS = 0;
35   struct Encoding {
36     EncodingFormat format;
37     octet major_version;
38     octet minor_version;
39   };
41   struct Encoding_1_2 {
42     EncodingFormat format;
43     octet major_version;
44     octet minor_version;
45     CONV_FRAME::CodeSetId char_codeset;
46     CONV_FRAME::CodeSetId wchar_codeset;
47   };
49   local interface CodecFactory {
50     exception UnknownEncoding {};
51     exception UnsupportedCodeset {
52       CONV_FRAME::CodeSetId codeset;
53     };
55     Codec create_codec (in Encoding enc) raises (UnknownEncoding);
56     Codec create_codec_with_codesets (in Encoding_1_2 enc) raises (UnknownEncoding, UnsupportedCodeset);
57   };
60 #pragma prefix ""
62 #endif  /* TAO_IOP_CODEC_PIDL */