POA_CORBA::Policy Class Reference

#include <PolicyS.h>

Inheritance diagram for POA_CORBA::Policy:

Inheritance graph
[legend]
Collaboration diagram for POA_CORBA::Policy:

Collaboration graph
[legend]
List of all members.

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)

Detailed Description

Definition at line 83 of file PolicyS.h.


Member Typedef Documentation

typedef ::CORBA::Policy_ptr POA_CORBA::Policy::_stub_ptr_type

Definition at line 92 of file PolicyS.h.

typedef ::CORBA::Policy POA_CORBA::Policy::_stub_type

Definition at line 91 of file PolicyS.h.

typedef ::CORBA::Policy_var POA_CORBA::Policy::_stub_var_type

Definition at line 93 of file PolicyS.h.


Constructor & Destructor Documentation

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]

Definition at line 412 of file PolicyS.cpp.

00413 {
00414 }


Member Function Documentation

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.

01012 {
01013   return "IDL:omg.org/CORBA/Policy:1.0";
01014 }

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 >.


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:41:37 2010 for TAO_PortableServer by  doxygen 1.4.7