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
00026
00027
00028
00029
00030
00031 #ifndef _TAO_IDL_OCTETSEQC_H_
00032 #define _TAO_IDL_OCTETSEQC_H_
00033
00034 #include "ace/pre.h"
00035
00036
00037 #include "ace/config-all.h"
00038
00039 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00040 # pragma once
00041 #endif
00042
00043 #include "tao/TAO_Export.h"
00044 #include "tao/Environment.h"
00045 #include "tao/Sequence_T.h"
00046 #include "tao/Seq_Var_T.h"
00047 #include "tao/Seq_Out_T.h"
00048
00049 #if defined (TAO_EXPORT_MACRO)
00050 #undef TAO_EXPORT_MACRO
00051 #endif
00052 #define TAO_EXPORT_MACRO TAO_Export
00053
00054 #if defined(_MSC_VER)
00055 #pragma warning(push)
00056 #pragma warning(disable:4250)
00057 #endif
00058
00059 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00060
00061
00062
00063
00064 namespace CORBA
00065 {
00066
00067
00068
00069
00070 #if !defined (_CORBA_OCTETSEQ_CH_)
00071 #define _CORBA_OCTETSEQ_CH_
00072
00073 class OctetSeq;
00074
00075 typedef
00076 TAO_FixedSeq_Var_T<
00077 OctetSeq
00078 >
00079 OctetSeq_var;
00080
00081 typedef
00082 TAO_Seq_Out_T<
00083 OctetSeq
00084 >
00085 OctetSeq_out;
00086
00087 class TAO_Export OctetSeq
00088 : public
00089 TAO::unbounded_value_sequence<
00090 CORBA::Octet
00091 >
00092 {
00093 public:
00094 OctetSeq (void);
00095 OctetSeq (CORBA::ULong max);
00096 OctetSeq (
00097 CORBA::ULong max,
00098 CORBA::ULong length,
00099 CORBA::Octet* buffer,
00100 CORBA::Boolean release = false
00101 );
00102 OctetSeq (const OctetSeq &);
00103 ~OctetSeq (void);
00104
00105 static void _tao_any_destructor (void *);
00106
00107 typedef OctetSeq_var _var_type;
00108 typedef OctetSeq_out _out_type;
00109
00110 #if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
00111 OctetSeq (
00112 CORBA::ULong length,
00113 const ACE_Message_Block* mb
00114 )
00115 : TAO::unbounded_value_sequence<CORBA::Octet> (length, mb) {}
00116 #endif
00117 };
00118
00119 #endif
00120
00121
00122
00123
00124 }
00125
00126
00127
00128
00129
00130 namespace TAO
00131 {
00132 }
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142 #if defined ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT
00143 template class TAO_Export TAO::unbounded_value_sequence<CORBA::OctetSeq>;
00144 #endif
00145
00146
00147
00148
00149
00150 #if !defined _TAO_CDR_OP_CORBA_OctetSeq_H_
00151 #define _TAO_CDR_OP_CORBA_OctetSeq_H_
00152
00153 TAO_Export CORBA::Boolean operator<< (
00154 TAO_OutputCDR &,
00155 const CORBA::OctetSeq &
00156 );
00157 TAO_Export CORBA::Boolean operator>> (
00158 TAO_InputCDR &,
00159 CORBA::OctetSeq &
00160 );
00161
00162 #endif
00163
00164
00165
00166
00167 TAO_END_VERSIONED_NAMESPACE_DECL
00168
00169 #if defined(_MSC_VER)
00170 #pragma warning(pop)
00171 #endif
00172
00173 #include "ace/post.h"
00174
00175 #endif