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
00026
00027
00028
00029
00030
00031 #ifndef _TAO_IDL_POLICYFACTORYC_H_
00032 #define _TAO_IDL_POLICYFACTORYC_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/PI/pi_export.h"
00044 #include "tao/ORB.h"
00045 #include "tao/Object.h"
00046 #include "tao/AnyTypeCode/TypeCode.h"
00047 #include "tao/AnyTypeCode/TypeCode_Constants.h"
00048 #include "tao/AnyTypeCode/Any.h"
00049 #include "tao/Objref_VarOut_T.h"
00050
00051 #include "tao/PolicyC.h"
00052
00053 #if defined (TAO_EXPORT_MACRO)
00054 #undef TAO_EXPORT_MACRO
00055 #endif
00056 #define TAO_EXPORT_MACRO TAO_PI_Export
00057
00058
00059
00060
00061 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00062
00063 namespace PortableInterceptor
00064 {
00065
00066
00067
00068
00069 #if !defined (_PORTABLEINTERCEPTOR_POLICYFACTORY__VAR_OUT_CH_)
00070 #define _PORTABLEINTERCEPTOR_POLICYFACTORY__VAR_OUT_CH_
00071
00072 class PolicyFactory;
00073 typedef PolicyFactory *PolicyFactory_ptr;
00074
00075 typedef
00076 TAO_Objref_Var_T<
00077 PolicyFactory
00078 >
00079 PolicyFactory_var;
00080
00081 typedef
00082 TAO_Objref_Out_T<
00083 PolicyFactory
00084 >
00085 PolicyFactory_out;
00086
00087 #endif
00088
00089
00090
00091
00092 #if !defined (_PORTABLEINTERCEPTOR_POLICYFACTORY_CH_)
00093 #define _PORTABLEINTERCEPTOR_POLICYFACTORY_CH_
00094
00095 class TAO_PI_Export PolicyFactory
00096 : public virtual ::CORBA::Object
00097 {
00098 public:
00099 typedef PolicyFactory_ptr _ptr_type;
00100 typedef PolicyFactory_var _var_type;
00101
00102
00103 static PolicyFactory_ptr _duplicate (PolicyFactory_ptr obj);
00104
00105 static void _tao_release (PolicyFactory_ptr obj);
00106
00107 static PolicyFactory_ptr _narrow (
00108 ::CORBA::Object_ptr obj
00109
00110 );
00111
00112 static PolicyFactory_ptr _unchecked_narrow (
00113 ::CORBA::Object_ptr obj
00114
00115 );
00116
00117 static PolicyFactory_ptr _nil (void)
00118 {
00119 return static_cast<PolicyFactory_ptr> (0);
00120 }
00121
00122
00123
00124
00125
00126
00127 virtual ::CORBA::Policy_ptr create_policy (
00128 ::CORBA::PolicyType type,
00129 const ::CORBA::Any & value
00130
00131 )
00132 = 0;
00133
00134
00135 virtual ::CORBA::Policy_ptr _create_policy (
00136 CORBA::PolicyType type
00137
00138 );
00139
00140
00141
00142
00143 virtual ::CORBA::Boolean _is_a (
00144 const char *type_id
00145
00146 );
00147
00148 virtual const char* _interface_repository_id (void) const;
00149 virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00150
00151 protected:
00152
00153 PolicyFactory (void);
00154
00155 virtual ~PolicyFactory (void);
00156
00157 private:
00158
00159 PolicyFactory (const PolicyFactory &);
00160
00161 void operator= (const PolicyFactory &);
00162 };
00163
00164 #endif
00165
00166
00167
00168
00169 }
00170
00171
00172
00173
00174
00175 namespace TAO
00176 {
00177
00178 #if !defined (_PORTABLEINTERCEPTOR_POLICYFACTORY__TRAITS_)
00179 #define _PORTABLEINTERCEPTOR_POLICYFACTORY__TRAITS_
00180
00181 template<>
00182 struct TAO_PI_Export Objref_Traits< ::PortableInterceptor::PolicyFactory>
00183 {
00184 static ::PortableInterceptor::PolicyFactory_ptr duplicate (
00185 ::PortableInterceptor::PolicyFactory_ptr
00186 );
00187 static void release (
00188 ::PortableInterceptor::PolicyFactory_ptr
00189 );
00190 static ::PortableInterceptor::PolicyFactory_ptr nil (void);
00191 static ::CORBA::Boolean marshal (
00192 ::PortableInterceptor::PolicyFactory_ptr p,
00193 TAO_OutputCDR & cdr
00194 );
00195 };
00196
00197 #endif
00198 }
00199
00200
00201
00202
00203 TAO_END_VERSIONED_NAMESPACE_DECL
00204
00205 #include "ace/post.h"
00206
00207 #endif
00208
00209