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_POLICY_FORWARDC_H_
00032 #define _TAO_IDL_POLICY_FORWARDC_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/Objref_VarOut_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
00056
00057
00058 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00059
00060 namespace CORBA
00061 {
00062
00063
00064
00065
00066 typedef CORBA::ULong PolicyType;
00067 typedef CORBA::ULong_out PolicyType_out;
00068
00069
00070
00071
00072 #if !defined (_CORBA_POLICY__VAR_OUT_CH_)
00073 #define _CORBA_POLICY__VAR_OUT_CH_
00074
00075 class Policy;
00076 typedef Policy *Policy_ptr;
00077
00078 typedef
00079 TAO_Objref_Var_T<
00080 Policy
00081 >
00082 Policy_var;
00083
00084 typedef
00085 TAO_Objref_Out_T<
00086 Policy
00087 >
00088 Policy_out;
00089
00090 #endif
00091
00092
00093
00094
00095 #if !defined (_CORBA_POLICYLIST_CH_)
00096 #define _CORBA_POLICYLIST_CH_
00097
00098 class PolicyList;
00099
00100 typedef
00101 TAO_VarSeq_Var_T<
00102 PolicyList
00103 >
00104 PolicyList_var;
00105
00106 typedef
00107 TAO_Seq_Out_T<
00108 PolicyList
00109 >
00110 PolicyList_out;
00111
00112 class TAO_Export PolicyList
00113 : public
00114 TAO::unbounded_object_reference_sequence<
00115 Policy,
00116 Policy_var
00117 >
00118 {
00119 public:
00120 PolicyList (void);
00121 PolicyList (CORBA::ULong max);
00122 PolicyList (
00123 CORBA::ULong max,
00124 CORBA::ULong length,
00125 Policy_ptr* buffer,
00126 CORBA::Boolean release = false
00127 );
00128 PolicyList (const PolicyList &);
00129 ~PolicyList (void);
00130
00131 static void _tao_any_destructor (void *);
00132
00133 typedef PolicyList_var _var_type;
00134 typedef PolicyList_out _out_type;
00135 };
00136
00137 #endif
00138
00139
00140
00141
00142 #if !defined (_CORBA_POLICYTYPESEQ_CH_)
00143 #define _CORBA_POLICYTYPESEQ_CH_
00144
00145 class PolicyTypeSeq;
00146
00147 typedef
00148 TAO_FixedSeq_Var_T<
00149 PolicyTypeSeq
00150 >
00151 PolicyTypeSeq_var;
00152
00153 typedef
00154 TAO_Seq_Out_T<
00155 PolicyTypeSeq
00156 >
00157 PolicyTypeSeq_out;
00158
00159 class TAO_Export PolicyTypeSeq
00160 : public
00161 TAO::unbounded_value_sequence<
00162 PolicyType
00163 >
00164 {
00165 public:
00166 PolicyTypeSeq (void);
00167 PolicyTypeSeq (CORBA::ULong max);
00168 PolicyTypeSeq (
00169 CORBA::ULong max,
00170 CORBA::ULong length,
00171 CORBA::ULong* buffer,
00172 CORBA::Boolean release = false
00173 );
00174 PolicyTypeSeq (const PolicyTypeSeq &);
00175 ~PolicyTypeSeq (void);
00176
00177 static void _tao_any_destructor (void *);
00178
00179 typedef PolicyTypeSeq_var _var_type;
00180 typedef PolicyTypeSeq_out _out_type;
00181 };
00182
00183 #endif
00184
00185
00186
00187
00188 #if !defined (_CORBA_POLICYCURRENT__VAR_OUT_CH_)
00189 #define _CORBA_POLICYCURRENT__VAR_OUT_CH_
00190
00191 class PolicyCurrent;
00192 typedef PolicyCurrent *PolicyCurrent_ptr;
00193
00194 typedef
00195 TAO_Objref_Var_T<
00196 PolicyCurrent
00197 >
00198 PolicyCurrent_var;
00199
00200 typedef
00201 TAO_Objref_Out_T<
00202 PolicyCurrent
00203 >
00204 PolicyCurrent_out;
00205
00206 #endif
00207
00208
00209
00210
00211 enum SetOverrideType
00212 {
00213 SET_OVERRIDE,
00214 ADD_OVERRIDE
00215 };
00216
00217 typedef SetOverrideType &SetOverrideType_out;
00218
00219
00220
00221
00222 }
00223
00224
00225
00226
00227
00228 namespace TAO
00229 {
00230
00231 #if !defined (_CORBA_POLICY__TRAITS_)
00232 #define _CORBA_POLICY__TRAITS_
00233
00234 template<>
00235 struct TAO_Export Objref_Traits< ::CORBA::Policy>
00236 {
00237 static ::CORBA::Policy_ptr duplicate (
00238 ::CORBA::Policy_ptr
00239 );
00240 static void release (
00241 ::CORBA::Policy_ptr
00242 );
00243 static ::CORBA::Policy_ptr nil (void);
00244 static CORBA::Boolean marshal (
00245 const ::CORBA::Policy_ptr p,
00246 TAO_OutputCDR & cdr
00247 );
00248 };
00249
00250 #endif
00251
00252 #if !defined (_CORBA_POLICYCURRENT__TRAITS_)
00253 #define _CORBA_POLICYCURRENT__TRAITS_
00254
00255 template<>
00256 struct TAO_Export Objref_Traits< ::CORBA::PolicyCurrent>
00257 {
00258 static ::CORBA::PolicyCurrent_ptr duplicate (
00259 ::CORBA::PolicyCurrent_ptr
00260 );
00261 static void release (
00262 ::CORBA::PolicyCurrent_ptr
00263 );
00264 static ::CORBA::PolicyCurrent_ptr nil (void);
00265 static CORBA::Boolean marshal (
00266 const ::CORBA::PolicyCurrent_ptr p,
00267 TAO_OutputCDR & cdr
00268 );
00269 };
00270
00271 #endif
00272 }
00273
00274
00275
00276
00277 TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CORBA::Policy_ptr );
00278 TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, CORBA::Policy_ptr &);
00279
00280
00281
00282
00283
00284 #if !defined _TAO_CDR_OP_CORBA_PolicyList_H_
00285 #define _TAO_CDR_OP_CORBA_PolicyList_H_
00286
00287 TAO_Export CORBA::Boolean operator<< (
00288 TAO_OutputCDR &,
00289 const CORBA::PolicyList &
00290 );
00291 TAO_Export CORBA::Boolean operator>> (
00292 TAO_InputCDR &,
00293 CORBA::PolicyList &
00294 );
00295
00296 #endif
00297
00298
00299
00300
00301 #if !defined _TAO_CDR_OP_CORBA_PolicyTypeSeq_H_
00302 #define _TAO_CDR_OP_CORBA_PolicyTypeSeq_H_
00303
00304 TAO_Export CORBA::Boolean operator<< (
00305 TAO_OutputCDR &,
00306 const CORBA::PolicyTypeSeq &
00307 );
00308 TAO_Export CORBA::Boolean operator>> (
00309 TAO_InputCDR &,
00310 CORBA::PolicyTypeSeq &
00311 );
00312
00313 #endif
00314
00315
00316
00317
00318 TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, CORBA::SetOverrideType);
00319 TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, CORBA::SetOverrideType &);
00320
00321
00322
00323
00324 TAO_END_VERSIONED_NAMESPACE_DECL
00325
00326 #include "ace/post.h"
00327
00328 #endif
00329
00330