Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef TAO_IOP_CODEC_PIDL
00026 #define TAO_IOP_CODEC_PIDL
00027
00028 #include "tao/Typecode_types.pidl"
00029 #include "tao/OctetSeq.pidl"
00030 #include "tao/CONV_FRAME.pidl"
00031
00032 #pragma prefix "omg.org"
00033
00034 module IOP
00035 {
00036 local interface Codec {
00037 exception InvalidTypeForEncoding {};
00038 exception FormatMismatch {};
00039 exception TypeMismatch {};
00040
00041 CORBA::OctetSeq encode (in any data) raises (InvalidTypeForEncoding);
00042 any decode (in CORBA::OctetSeq data) raises (FormatMismatch);
00043 CORBA::OctetSeq encode_value (in any data) raises (InvalidTypeForEncoding);
00044 any decode_value (in CORBA::OctetSeq data, in CORBA::TypeCode tc)
00045 raises (FormatMismatch, TypeMismatch);
00046 };
00047
00048 typedef short EncodingFormat;
00049 const EncodingFormat ENCODING_CDR_ENCAPS = 0;
00050
00051 struct Encoding {
00052 EncodingFormat format;
00053 octet major_version;
00054 octet minor_version;
00055 };
00056
00057 struct Encoding_1_2 {
00058 EncodingFormat format;
00059 octet major_version;
00060 octet minor_version;
00061 CONV_FRAME::CodeSetId char_codeset;
00062 CONV_FRAME::CodeSetId wchar_codeset;
00063 };
00064
00065 local interface CodecFactory {
00066 exception UnknownEncoding {};
00067 exception UnsupportedCodeset {
00068 CONV_FRAME::CodeSetId codeset;
00069 };
00070
00071 Codec create_codec (in Encoding enc) raises (UnknownEncoding);
00072 Codec create_codec_with_codesets (in Encoding_1_2 enc) raises (UnknownEncoding, UnsupportedCodeset);
00073 };
00074 };
00075
00076 #pragma prefix ""
00077
00078 #endif