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 ()
virtual const char * _interface_repository_id (void) const
 Get this interface's repository id (TAO specific).

virtual CORBA::PolicyType policy_type ()=0 throw ( CORBA::SystemException )
virtual::CORBA::Policy_ptr copy ()=0 throw ( CORBA::SystemException )
virtual void destroy ()=0 throw ( CORBA::SystemException )

Static Public Member Functions

void _is_a_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant)
void _non_existent_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant)
void _interface_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant)
void _component_skel (TAO_ServerRequest &req, void *servant_upcall, void *servant)
void _get_policy_type_skel (TAO_ServerRequest &server_request, void *servant_upcall, void *servant)
void copy_skel (TAO_ServerRequest &server_request, void *servant_upcall, void *servant)
void destroy_skel (TAO_ServerRequest &server_request, void *servant_upcall, void *servant)

Protected Member Functions

 Policy (void)

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 414 of file PolicyS.cpp.

References tao_CORBA_Policy_optable.

00415   : TAO_ServantBase ()
00416 {
00417   this->optable_ = &tao_CORBA_Policy_optable;
00418 }

POA_CORBA::Policy::Policy const Policy rhs  ) 
 

Definition at line 420 of file PolicyS.cpp.

00421   : TAO_Abstract_ServantBase (rhs),
00422     TAO_ServantBase (rhs)
00423 {
00424 }

POA_CORBA::Policy::~Policy void   )  [virtual]
 

Definition at line 426 of file PolicyS.cpp.

00427 {
00428 }


Member Function Documentation

void POA_CORBA::Policy::_component_skel TAO_ServerRequest req,
void *  servant_upcall,
void *  servant
[static]
 

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 1041 of file PolicyS.cpp.

References ACE_ENV_ARG_PARAMETER, and TAO_ServantBase::synchronous_upcall_dispatch().

01046 {
01047   this->synchronous_upcall_dispatch (req,
01048                                      servant_upcall,
01049                                      this
01050                                      ACE_ENV_ARG_PARAMETER);
01051 }

void POA_CORBA::Policy::_get_policy_type_skel TAO_ServerRequest server_request,
void *  servant_upcall,
void *  servant
[static]
 

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 1033 of file PolicyS.cpp.

01034 {
01035   return "IDL:omg.org/CORBA/Policy:1.0";
01036 }

void POA_CORBA::Policy::_interface_skel TAO_ServerRequest req,
void *  servant_upcall,
void *  servant
[static]
 

Definition at line 886 of file PolicyS.cpp.

References TAO_ServantBase::_get_interface(), ACE_CHECK, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_THROW, TAO_IFR_Client_Adapter::dispose(), TAO_ServerRequest::init_reply(), ACE_Dynamic_Service< TYPE >::instance(), TAO_IFR_Client_Adapter::interfacedef_cdr_insert(), and TAO_ServerRequest::outgoing().

00892 {
00893   TAO_IFR_Client_Adapter *_tao_adapter =
00894     ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
00895         TAO_ORB_Core::ifr_client_adapter_name ()
00896       );
00897 
00898   if (_tao_adapter == 0)
00899     {
00900       ACE_THROW (CORBA::INTF_REPOS (CORBA::OMGVMCID | 1,
00901                                     CORBA::COMPLETED_NO));
00902     }
00903 
00904   POA_CORBA::Policy * const impl =
00905     static_cast<POA_CORBA::Policy *> (servant);
00906   CORBA::InterfaceDef_ptr _tao_retval =
00907     impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
00908   ACE_CHECK;
00909 
00910   server_request.init_reply ();
00911   TAO_OutputCDR &_tao_out = *server_request.outgoing ();
00912 
00913   CORBA::Boolean const _tao_result =
00914     _tao_adapter->interfacedef_cdr_insert (
00915         _tao_out,
00916         _tao_retval
00917       );
00918 
00919   _tao_adapter->dispose (_tao_retval);
00920 
00921   if (_tao_result == 0)
00922     {
00923       ACE_THROW (CORBA::MARSHAL ());
00924     }
00925 }

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 1015 of file PolicyS.cpp.

References ACE_OS::strcmp().

01019 {
01020   return
01021     (
01022       !ACE_OS::strcmp (
01023           value,
01024           "IDL:omg.org/CORBA/Policy:1.0"
01025         ) ||
01026       !ACE_OS::strcmp (
01027           value,
01028           "IDL:omg.org/CORBA/Object:1.0"
01029         )
01030     );
01031 }

void POA_CORBA::Policy::_is_a_skel TAO_ServerRequest req,
void *  servant_upcall,
void *  servant
[static]
 

void POA_CORBA::Policy::_non_existent_skel TAO_ServerRequest req,
void *  servant_upcall,
void *  servant
[static]
 

CORBA::Policy * POA_CORBA::Policy::_this  ) 
 

Definition at line 1057 of file PolicyS.cpp.

References TAO_ServantBase::_create_stub(), CORBA::Object::_nil(), ACE_CHECK_RETURN, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_NEW_RETURN, CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer, TAO_Stub_Auto_Ptr::release(), TAO_Stub::servant_orb_var(), and TAO::Narrow_Utils< T >::unchecked_narrow().

01058 {
01059   TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
01060   ACE_CHECK_RETURN (0);
01061 
01062   TAO_Stub_Auto_Ptr safe_stub (stub);
01063   CORBA::Object_ptr tmp = CORBA::Object::_nil ();
01064 
01065   CORBA::Boolean _tao_opt_colloc =
01066     stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
01067 
01068   ACE_NEW_RETURN (
01069       tmp,
01070       CORBA::Object (stub, _tao_opt_colloc, this),
01071       0
01072     );
01073 
01074   CORBA::Object_var obj = tmp;
01075   (void) safe_stub.release ();
01076 
01077   typedef ::CORBA::Policy STUB_SCOPED_NAME;
01078   return
01079     TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
01080         obj.in (),
01081         CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer
01082       );
01083 }

virtual ::CORBA::Policy_ptr POA_CORBA::Policy::copy  )  throw ( CORBA::SystemException ) [pure virtual]
 

void POA_CORBA::Policy::copy_skel TAO_ServerRequest server_request,
void *  servant_upcall,
void *  servant
[static]
 

virtual void POA_CORBA::Policy::destroy  )  throw ( CORBA::SystemException ) [pure virtual]
 

void POA_CORBA::Policy::destroy_skel TAO_ServerRequest server_request,
void *  servant_upcall,
void *  servant
[static]
 

virtual CORBA::PolicyType POA_CORBA::Policy::policy_type  )  throw ( CORBA::SystemException ) [pure virtual]
 


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:46:25 2006 for TAO_PortableServer by doxygen 1.3.6