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_ORIG_OBJECT_KEYC_H_
00032 #define _TAO_IDL_ORIG_OBJECT_KEYC_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/ORB.h"
00045 #include "tao/Environment.h"
00046 #include "tao/Sequence_T.h"
00047 #include "tao/Seq_Var_T.h"
00048 #include "tao/Seq_Out_T.h"
00049
00050 #if defined (TAO_EXPORT_MACRO)
00051 #undef TAO_EXPORT_MACRO
00052 #endif
00053 #define TAO_EXPORT_MACRO TAO_Export
00054
00055 #if defined(_MSC_VER)
00056 #pragma warning(push)
00057 #pragma warning(disable:4250)
00058 #endif
00059
00060 #if defined (__BORLANDC__)
00061 #pragma option push -w-rvl -w-rch -w-ccc -w-inl
00062 #endif
00063
00064
00065
00066
00067 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00068
00069 namespace TAO
00070 {
00071
00072
00073
00074
00075 #if !defined (_TAO_OBJECTKEY_CH_)
00076 #define _TAO_OBJECTKEY_CH_
00077
00078 class ObjectKey;
00079
00080 typedef
00081 TAO_FixedSeq_Var_T<
00082 ObjectKey
00083 >
00084 ObjectKey_var;
00085
00086 typedef
00087 TAO_Seq_Out_T<
00088 ObjectKey
00089 >
00090 ObjectKey_out;
00091
00092 class TAO_Export ObjectKey
00093 : public
00094 TAO::unbounded_value_sequence<
00095 CORBA::Octet
00096 >
00097 {
00098 public:
00099 ObjectKey (void);
00100 ObjectKey (CORBA::ULong max);
00101 ObjectKey (
00102 CORBA::ULong max,
00103 CORBA::ULong length,
00104 CORBA::Octet* buffer,
00105 CORBA::Boolean release = false
00106 );
00107 ObjectKey (const ObjectKey &);
00108 ~ObjectKey (void);
00109
00110 typedef ObjectKey_var _var_type;
00111
00112 #if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
00113 ObjectKey (
00114 CORBA::ULong length,
00115 const ACE_Message_Block* mb
00116 )
00117 : TAO::unbounded_value_sequence<CORBA::Octet> (length, mb) {}
00118 #endif
00119
00120
00121
00122 static void encode_sequence_to_string (
00123 char* & str,
00124 TAO::unbounded_value_sequence<CORBA::Octet> const & seq
00125 );
00126 static void decode_string_to_sequence (
00127 TAO::unbounded_value_sequence<CORBA::Octet> &seq,
00128 char const * str
00129 );
00130 static CORBA::Boolean is_legal (unsigned char c);
00131
00132
00133
00134
00135
00136 static CORBA::Boolean demarshal_key (ObjectKey & key,
00137 TAO_InputCDR & cdr);
00138 };
00139
00140 #endif
00141
00142
00143
00144
00145 }
00146
00147
00148
00149
00150
00151 namespace TAO
00152 {
00153 }
00154
00155
00156
00157
00158 #if !defined _TAO_CDR_OP_TAO_ObjectKey_H_
00159 #define _TAO_CDR_OP_TAO_ObjectKey_H_
00160
00161 TAO_Export CORBA::Boolean operator<< (
00162 TAO_OutputCDR &,
00163 const TAO::ObjectKey &
00164 );
00165 TAO_Export CORBA::Boolean operator>> (
00166 TAO_InputCDR &,
00167 TAO::ObjectKey &
00168 );
00169
00170 #endif
00171
00172
00173
00174
00175 TAO_END_VERSIONED_NAMESPACE_DECL
00176
00177 #if defined(_MSC_VER)
00178 #pragma warning(pop)
00179 #endif
00180
00181 #if defined (__BORLANDC__)
00182 #pragma option pop
00183 #endif
00184
00185 #include "ace/post.h"
00186
00187 #endif
00188
00189