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_RTPORTABLESERVERC_H_
00032 #define _TAO_IDL_ORIG_RTPORTABLESERVERC_H_
00033
00034 #include "ace/pre.h"
00035
00036
00037 #include "ace/config-all.h"
00038
00039 #ifndef TAO_RT_PORTABLESERVER_SAFE_INCLUDE
00040 #error "You should not include RTPortableServerC.h directly, use RTPortableServer.h"
00041 #endif
00042
00043 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00044 # pragma once
00045 #endif
00046
00047 #include "tao/RTPortableServer/rtportableserver_export.h"
00048 #include "tao/ORB.h"
00049 #include "tao/SystemException.h"
00050 #include "tao/Environment.h"
00051 #include "tao/Object.h"
00052 #include "tao/Objref_VarOut_T.h"
00053
00054 #include "tao/PortableServer/PortableServer_includeC.h"
00055 #include "tao/RTCORBA/RTCORBA_includeC.h"
00056
00057 #if defined (TAO_EXPORT_MACRO)
00058 #undef TAO_EXPORT_MACRO
00059 #endif
00060 #define TAO_EXPORT_MACRO TAO_RTPortableServer_Export
00061
00062 #if defined(_MSC_VER)
00063 #pragma warning(push)
00064 #pragma warning(disable:4250)
00065 #endif
00066
00067 #if defined (__BORLANDC__)
00068 #pragma option push -w-rvl -w-rch -w-ccc -w-inl
00069 #endif
00070
00071
00072
00073
00074 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00075
00076 namespace RTPortableServer
00077 {
00078
00079
00080
00081
00082 #if !defined (_RTPORTABLESERVER_POA__VAR_OUT_CH_)
00083 #define _RTPORTABLESERVER_POA__VAR_OUT_CH_
00084
00085 class POA;
00086 typedef POA *POA_ptr;
00087
00088 typedef
00089 TAO_Objref_Var_T<
00090 POA
00091 >
00092 POA_var;
00093
00094 typedef
00095 TAO_Objref_Out_T<
00096 POA
00097 >
00098 POA_out;
00099
00100 #endif
00101
00102
00103
00104
00105 #if !defined (_RTPORTABLESERVER_POA_CH_)
00106 #define _RTPORTABLESERVER_POA_CH_
00107
00108 class TAO_RTPortableServer_Export POA
00109 : public virtual ::PortableServer::POA
00110 {
00111 public:
00112 typedef POA_ptr _ptr_type;
00113 typedef POA_var _var_type;
00114
00115
00116 static POA_ptr _duplicate (POA_ptr obj);
00117
00118 static void _tao_release (POA_ptr obj);
00119
00120 static POA_ptr _narrow (
00121 CORBA::Object_ptr obj
00122 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00123 );
00124
00125 static POA_ptr _unchecked_narrow (
00126 CORBA::Object_ptr obj
00127 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00128 );
00129
00130 static POA_ptr _nil (void)
00131 {
00132 return static_cast<POA_ptr> (0);
00133 }
00134
00135 static void _tao_any_destructor (void *);
00136
00137
00138
00139
00140 virtual CORBA::Object_ptr create_reference_with_priority (
00141 const char * intf,
00142 ::RTCORBA::Priority priority
00143 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00144 )
00145 ACE_THROW_SPEC ((
00146 CORBA::SystemException,
00147 ::PortableServer::POA::WrongPolicy
00148 )) = 0;
00149
00150
00151
00152
00153 virtual CORBA::Object_ptr create_reference_with_id_and_priority (
00154 const ::PortableServer::ObjectId & oid,
00155 const char * intf,
00156 ::RTCORBA::Priority priority
00157 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00158 )
00159 ACE_THROW_SPEC ((
00160 CORBA::SystemException,
00161 ::PortableServer::POA::WrongPolicy
00162 )) = 0;
00163
00164
00165
00166
00167 virtual ::PortableServer::ObjectId * activate_object_with_priority (
00168 ::PortableServer::Servant p_servant,
00169 ::RTCORBA::Priority priority
00170 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00171 )
00172 ACE_THROW_SPEC ((
00173 CORBA::SystemException,
00174 ::PortableServer::POA::ServantAlreadyActive,
00175 ::PortableServer::POA::WrongPolicy
00176 )) = 0;
00177
00178
00179
00180
00181 virtual void activate_object_with_id_and_priority (
00182 const ::PortableServer::ObjectId & oid,
00183 ::PortableServer::Servant p_servant,
00184 ::RTCORBA::Priority priority
00185 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00186 )
00187 ACE_THROW_SPEC ((
00188 CORBA::SystemException,
00189 ::PortableServer::POA::ServantAlreadyActive,
00190 ::PortableServer::POA::ObjectAlreadyActive,
00191 ::PortableServer::POA::WrongPolicy
00192 )) = 0;
00193
00194
00195
00196
00197 virtual CORBA::Boolean _is_a (
00198 const char *type_id
00199 ACE_ENV_ARG_DECL_WITH_DEFAULTS
00200 );
00201
00202 virtual const char* _interface_repository_id (void) const;
00203 virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
00204
00205 protected:
00206
00207 POA (void);
00208
00209 virtual ~POA (void);
00210
00211 private:
00212
00213 POA (const POA &);
00214
00215 void operator= (const POA &);
00216 };
00217
00218 #endif
00219
00220
00221
00222
00223 extern TAO_RTPortableServer_Export ::CORBA::TypeCode_ptr const _tc_POA;
00224
00225
00226
00227
00228 }
00229
00230
00231
00232
00233
00234 namespace TAO
00235 {
00236
00237 #if !defined (_RTPORTABLESERVER_POA__TRAITS_CH_)
00238 #define _RTPORTABLESERVER_POA__TRAITS_CH_
00239
00240 template<>
00241 struct TAO_RTPortableServer_Export Objref_Traits< ::RTPortableServer::POA>
00242 {
00243 static ::RTPortableServer::POA_ptr duplicate (
00244 ::RTPortableServer::POA_ptr
00245 );
00246 static void release (
00247 ::RTPortableServer::POA_ptr
00248 );
00249 static ::RTPortableServer::POA_ptr nil (void);
00250 static CORBA::Boolean marshal (
00251 ::RTPortableServer::POA_ptr p,
00252 TAO_OutputCDR & cdr
00253 );
00254 };
00255
00256 #endif
00257 }
00258
00259
00260
00261
00262 TAO_RTPortableServer_Export void operator<<= (CORBA::Any &, RTPortableServer::POA_ptr);
00263 TAO_RTPortableServer_Export void operator<<= (CORBA::Any &, RTPortableServer::POA_ptr *);
00264 TAO_RTPortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, RTPortableServer::POA_ptr &);
00265
00266
00267
00268
00269 TAO_END_VERSIONED_NAMESPACE_DECL
00270
00271 #if defined(_MSC_VER)
00272 #pragma warning(pop)
00273 #endif
00274
00275 #if defined (__BORLANDC__)
00276 #pragma option pop
00277 #endif
00278
00279 #include "ace/post.h"
00280
00281 #endif
00282
00283