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_ORIG_POLICYS_H_
00032 #define _TAO_IDL_ORIG_POLICYS_H_
00033
00034 #include "ace/pre.h"
00035
00036 #include "tao/PolicyC.h"
00037 #include "tao/UShortSeqS.h"
00038 #include "tao/CurrentS.h"
00039 #include "tao/Policy_ForwardS.h"
00040
00041 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00042 # pragma once
00043 #endif
00044
00045 #include "tao/Collocation_Proxy_Broker.h"
00046 #include "tao/PortableServer/PortableServer.h"
00047 #include "tao/PortableServer/Servant_Base.h"
00048
00049 #if defined(_MSC_VER)
00050 #pragma warning(push)
00051 #pragma warning(disable:4250)
00052 #endif
00053
00054 #include "tao/PortableServer/portableserver_export.h"
00055
00056 #if defined (TAO_EXPORT_MACRO)
00057 #undef TAO_EXPORT_MACRO
00058 #endif
00059 #define TAO_EXPORT_MACRO TAO_PortableServer_Export
00060
00061
00062
00063
00064 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00065
00066 namespace POA_CORBA
00067 {
00068
00069
00070
00071
00072
00073 class Policy;
00074 typedef Policy *Policy_ptr;
00075
00076 class _TAO_Policy_Direct_Proxy_Impl;
00077 class _TAO_Policy_Strategized_Proxy_Broker;
00078
00079 class TAO_PortableServer_Export Policy
00080 : public virtual PortableServer::ServantBase
00081 {
00082 protected:
00083 Policy (void);
00084
00085 public:
00086
00087 typedef ::CORBA::Policy _stub_type;
00088 typedef ::CORBA::Policy_ptr _stub_ptr_type;
00089 typedef ::CORBA::Policy_var _stub_var_type;
00090
00091 Policy (const Policy& rhs);
00092 virtual ~Policy (void);
00093
00094 virtual CORBA::Boolean _is_a (
00095 const char* logical_type_id
00096
00097 );
00098
00099 static void _is_a_skel (
00100 TAO_ServerRequest & req,
00101 void * servant_upcall,
00102 void * servant
00103
00104 );
00105
00106 static void _non_existent_skel (
00107 TAO_ServerRequest & req,
00108 void * servant_upcall,
00109 void * servant
00110
00111 );
00112
00113 static void _interface_skel (
00114 TAO_ServerRequest & req,
00115 void * servant_upcall,
00116 void * servant
00117
00118 );
00119
00120 static void _component_skel (
00121 TAO_ServerRequest & req,
00122 void * servant_upcall,
00123 void * servant
00124
00125 );
00126
00127 virtual void _dispatch (
00128 TAO_ServerRequest & req,
00129 void * servant_upcall
00130
00131 );
00132
00133 ::CORBA::Policy *_this (
00134 void
00135 );
00136
00137 virtual const char* _interface_repository_id (void) const;
00138
00139
00140
00141
00142 virtual CORBA::PolicyType policy_type (
00143 void
00144 )
00145 = 0;
00146
00147 static void _get_policy_type_skel (
00148 TAO_ServerRequest & server_request,
00149 void * servant_upcall,
00150 void * servant
00151
00152 );
00153
00154
00155
00156
00157 virtual ::CORBA::Policy_ptr copy (
00158 void
00159 )
00160 = 0;
00161
00162 static void copy_skel (
00163 TAO_ServerRequest & server_request,
00164 void * servant_upcall,
00165 void * servant
00166
00167 );
00168
00169
00170
00171
00172 virtual void destroy (
00173 void
00174 )
00175 = 0;
00176
00177 static void destroy_skel (
00178 TAO_ServerRequest & server_request,
00179 void * servant_upcall,
00180 void * servant
00181
00182 );
00183 };
00184
00185
00186
00187
00188
00189
00190
00191
00192 class TAO_PortableServer_Export _TAO_Policy_Strategized_Proxy_Broker
00193 : public virtual TAO::Collocation_Proxy_Broker
00194 {
00195 public:
00196 _TAO_Policy_Strategized_Proxy_Broker (void);
00197
00198 virtual ~_TAO_Policy_Strategized_Proxy_Broker (void);
00199
00200 TAO::Collocation_Strategy
00201 get_strategy (
00202 CORBA::Object_ptr obj
00203
00204 );
00205
00206 void
00207 dispatch (
00208 CORBA::Object_ptr obj,
00209 CORBA::Object_out forward_obj,
00210 bool & is_forwarded,
00211 TAO::Argument ** args,
00212 int num_args,
00213 const char * op,
00214 size_t op_len,
00215 TAO::Collocation_Strategy strategy
00216
00217 );
00218
00219 static _TAO_Policy_Strategized_Proxy_Broker *
00220 the_TAO_Policy_Strategized_Proxy_Broker (void);
00221 };
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236 class TAO_PortableServer_Export _TAO_Policy_Direct_Proxy_Impl
00237 {
00238 public:
00239 _TAO_Policy_Direct_Proxy_Impl (void);
00240
00241 virtual ~_TAO_Policy_Direct_Proxy_Impl (void);
00242
00243
00244
00245
00246 static void
00247 _get_policy_type (
00248 TAO_Abstract_ServantBase *servant,
00249 TAO::Argument ** args,
00250 int num_args
00251
00252 );
00253
00254
00255
00256
00257 static void
00258 copy (
00259 TAO_Abstract_ServantBase *servant,
00260 TAO::Argument ** args,
00261 int num_args
00262
00263 );
00264
00265
00266
00267
00268 static void
00269 destroy (
00270 TAO_Abstract_ServantBase *servant,
00271 TAO::Argument ** args,
00272 int num_args
00273
00274 );
00275 };
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286 }
00287
00288
00289
00290
00291 TAO_END_VERSIONED_NAMESPACE_DECL
00292
00293 #include "tao/PortableServer/PolicyS_T.h"
00294
00295
00296 #if defined(_MSC_VER)
00297 #pragma warning(pop)
00298 #endif
00299
00300 #include "ace/post.h"
00301 #endif
00302