#include <PolicyS.h>
Inheritance diagram for POA_CORBA::Policy:
Public Types | |
typedef ::CORBA::Policy | _stub_type |
typedef ::CORBA::Policy_ptr | _stub_ptr_type |
typedef ::CORBA::Policy_var | _stub_var_type |
Public Member Functions | |
Policy (const Policy &rhs) | |
virtual | ~Policy (void) |
virtual CORBA::Boolean | _is_a (const char *logical_type_id) |
Local implementation of the CORBA::Object::_is_a method. | |
virtual void | _dispatch (TAO_ServerRequest &req, void *servant_upcall) |
::CORBA::Policy * | _this (void) |
virtual const char * | _interface_repository_id (void) const |
Get this interface's repository id (TAO specific). | |
virtual CORBA::PolicyType | policy_type (void)=0 |
virtual ::CORBA::Policy_ptr | copy (void)=0 |
virtual void | destroy (void)=0 |
Static Public Member Functions | |
static void | _is_a_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant) |
static void | _non_existent_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant) |
static void | _interface_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant) |
static void | _component_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant) |
static void | _get_policy_type_skel (TAO_ServerRequest &server_request, void *servant_upcall, void *servant) |
static void | copy_skel (TAO_ServerRequest &server_request, void *servant_upcall, void *servant) |
static void | destroy_skel (TAO_ServerRequest &server_request, void *servant_upcall, void *servant) |
Protected Member Functions | |
Policy (void) |
Definition at line 83 of file PolicyS.h.
typedef ::CORBA::Policy POA_CORBA::Policy::_stub_type |
POA_CORBA::Policy::Policy | ( | void | ) | [protected] |
Definition at line 400 of file PolicyS.cpp.
References TAO_ServantBase::optable_, and tao_CORBA_Policy_optable.
00401 : TAO_ServantBase () 00402 { 00403 this->optable_ = &tao_CORBA_Policy_optable; 00404 }
POA_CORBA::Policy::Policy | ( | const Policy & | rhs | ) |
Definition at line 406 of file PolicyS.cpp.
00407 : TAO_Abstract_ServantBase (rhs), 00408 TAO_ServantBase (rhs) 00409 { 00410 }
POA_CORBA::Policy::~Policy | ( | void | ) | [virtual] |
static void POA_CORBA::Policy::_component_skel | ( | TAO_ServerRequest & | req, | |
void * | servant_upcall, | |||
void * | servant | |||
) | [static] |
Referenced by TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup().
void POA_CORBA::Policy::_dispatch | ( | TAO_ServerRequest & | req, | |
void * | servant_upcall | |||
) | [virtual] |
Dispatches a request to the object: find the operation, cast the type to the most derived type, demarshall all the parameters from the request and finally invokes the operation, storing the results and out parameters (if any) or the exceptions thrown into request.
Implements TAO_ServantBase.
Definition at line 1019 of file PolicyS.cpp.
References TAO_ServantBase::synchronous_upcall_dispatch().
01024 { 01025 this->synchronous_upcall_dispatch (req, 01026 servant_upcall, 01027 this 01028 ); 01029 }
static void POA_CORBA::Policy::_get_policy_type_skel | ( | TAO_ServerRequest & | server_request, | |
void * | servant_upcall, | |||
void * | servant | |||
) | [static] |
Referenced by TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup().
const char * POA_CORBA::Policy::_interface_repository_id | ( | void | ) | const [virtual] |
Get this interface's repository id (TAO specific).
Implements TAO_ServantBase.
Definition at line 1011 of file PolicyS.cpp.
void POA_CORBA::Policy::_interface_skel | ( | TAO_ServerRequest & | req, | |
void * | servant_upcall, | |||
void * | servant | |||
) | [static] |
Definition at line 867 of file PolicyS.cpp.
References TAO_ServantBase::_get_interface(), CORBA::COMPLETED_NO, TAO_IFR_Client_Adapter::dispose(), TAO_ORB_Core::ifr_client_adapter_name(), TAO_ServerRequest::init_reply(), ACE_Dynamic_Service< TYPE >::instance(), TAO_IFR_Client_Adapter::interfacedef_cdr_insert(), CORBA::OMGVMCID, and TAO_ServerRequest::outgoing().
Referenced by TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup().
00873 { 00874 TAO_IFR_Client_Adapter *_tao_adapter = 00875 ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance ( 00876 TAO_ORB_Core::ifr_client_adapter_name () 00877 ); 00878 00879 if (_tao_adapter == 0) 00880 { 00881 throw ::CORBA::INTF_REPOS (CORBA::OMGVMCID | 1, CORBA::COMPLETED_NO); 00882 } 00883 00884 POA_CORBA::Policy * const impl = 00885 static_cast<POA_CORBA::Policy *> (servant); 00886 CORBA::InterfaceDef_ptr _tao_retval = 00887 impl->_get_interface (); 00888 00889 server_request.init_reply (); 00890 TAO_OutputCDR &_tao_out = *server_request.outgoing (); 00891 00892 CORBA::Boolean const _tao_result = 00893 _tao_adapter->interfacedef_cdr_insert ( 00894 _tao_out, 00895 _tao_retval 00896 ); 00897 00898 _tao_adapter->dispose (_tao_retval); 00899 00900 if (_tao_result == 0) 00901 { 00902 throw ::CORBA::MARSHAL (); 00903 } 00904 }
CORBA::Boolean POA_CORBA::Policy::_is_a | ( | const char * | logical_type_id | ) | [virtual] |
Local implementation of the CORBA::Object::_is_a method.
Reimplemented from TAO_ServantBase.
Definition at line 993 of file PolicyS.cpp.
References ACE_OS::strcmp().
00997 { 00998 return 00999 ( 01000 !ACE_OS::strcmp ( 01001 value, 01002 "IDL:omg.org/CORBA/Policy:1.0" 01003 ) || 01004 !ACE_OS::strcmp ( 01005 value, 01006 "IDL:omg.org/CORBA/Object:1.0" 01007 ) 01008 ); 01009 }
static void POA_CORBA::Policy::_is_a_skel | ( | TAO_ServerRequest & | req, | |
void * | servant_upcall, | |||
void * | servant | |||
) | [static] |
Referenced by TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup().
static void POA_CORBA::Policy::_non_existent_skel | ( | TAO_ServerRequest & | req, | |
void * | servant_upcall, | |||
void * | servant | |||
) | [static] |
Referenced by TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup().
CORBA::Policy * POA_CORBA::Policy::_this | ( | void | ) |
Definition at line 1035 of file PolicyS.cpp.
References TAO_ServantBase::_create_stub(), CORBA::Object::_nil(), ACE_NEW_RETURN, CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer, TAO_Pseudo_Var_T< T >::in(), TAO_Stub_Auto_Ptr::release(), and TAO_Stub::servant_orb_var().
01036 { 01037 TAO_Stub *stub = this->_create_stub (); 01038 01039 TAO_Stub_Auto_Ptr safe_stub (stub); 01040 CORBA::Object_ptr tmp = CORBA::Object::_nil (); 01041 01042 CORBA::Boolean _tao_opt_colloc = 01043 stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects (); 01044 01045 ACE_NEW_RETURN ( 01046 tmp, 01047 CORBA::Object (stub, _tao_opt_colloc, this), 01048 0 01049 ); 01050 01051 CORBA::Object_var obj = tmp; 01052 (void) safe_stub.release (); 01053 01054 typedef ::CORBA::Policy STUB_SCOPED_NAME; 01055 return 01056 TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow ( 01057 obj.in (), 01058 CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer 01059 ); 01060 }
virtual ::CORBA::Policy_ptr POA_CORBA::Policy::copy | ( | void | ) | [pure virtual] |
Implemented in POA_CORBA::Policy_tie< T >.
static void POA_CORBA::Policy::copy_skel | ( | TAO_ServerRequest & | server_request, | |
void * | servant_upcall, | |||
void * | servant | |||
) | [static] |
Referenced by TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup().
virtual void POA_CORBA::Policy::destroy | ( | void | ) | [pure virtual] |
Implemented in POA_CORBA::Policy_tie< T >.
static void POA_CORBA::Policy::destroy_skel | ( | TAO_ServerRequest & | server_request, | |
void * | servant_upcall, | |||
void * | servant | |||
) | [static] |
Referenced by TAO_CORBA_Policy_Perfect_Hash_OpTable::lookup().
virtual CORBA::PolicyType POA_CORBA::Policy::policy_type | ( | void | ) | [pure virtual] |
Implemented in POA_CORBA::Policy_tie< T >.