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

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

References tao_CORBA_Policy_optable.

00399   : TAO_ServantBase ()
00400 {
00401   this->optable_ = &tao_CORBA_Policy_optable;
00402 }

POA_CORBA::Policy::Policy const Policy rhs  ) 
 

Definition at line 404 of file PolicyS.cpp.

00405   : TAO_Abstract_ServantBase (rhs),
00406     TAO_ServantBase (rhs)
00407 {
00408 }

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

Definition at line 410 of file PolicyS.cpp.

00411 {
00412 }


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

References TAO_ServantBase::synchronous_upcall_dispatch().

01022 {
01023   this->synchronous_upcall_dispatch (req,
01024                                      servant_upcall,
01025                                      this
01026                                     );
01027 }

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

01010 {
01011   return "IDL:omg.org/CORBA/Policy:1.0";
01012 }

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

Definition at line 865 of file PolicyS.cpp.

References TAO_ServantBase::_get_interface(), 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().

00871 {
00872   TAO_IFR_Client_Adapter *_tao_adapter =
00873     ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
00874         TAO_ORB_Core::ifr_client_adapter_name ()
00875       );
00876 
00877   if (_tao_adapter == 0)
00878     {
00879       throw ::CORBA::INTF_REPOS (CORBA::OMGVMCID | 1, CORBA::COMPLETED_NO);
00880     }
00881 
00882   POA_CORBA::Policy * const impl =
00883     static_cast<POA_CORBA::Policy *> (servant);
00884   CORBA::InterfaceDef_ptr _tao_retval =
00885     impl->_get_interface ();
00886 
00887   server_request.init_reply ();
00888   TAO_OutputCDR &_tao_out = *server_request.outgoing ();
00889 
00890   CORBA::Boolean const _tao_result =
00891     _tao_adapter->interfacedef_cdr_insert (
00892         _tao_out,
00893         _tao_retval
00894       );
00895 
00896   _tao_adapter->dispose (_tao_retval);
00897 
00898   if (_tao_result == 0)
00899     {
00900       throw ::CORBA::MARSHAL ();
00901     }
00902 }

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

References ACE_OS::strcmp().

00995 {
00996   return
00997     (
00998       !ACE_OS::strcmp (
00999           value,
01000           "IDL:omg.org/CORBA/Policy:1.0"
01001         ) ||
01002       !ACE_OS::strcmp (
01003           value,
01004           "IDL:omg.org/CORBA/Object:1.0"
01005         )
01006     );
01007 }

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 void   ) 
 

Definition at line 1033 of file PolicyS.cpp.

References TAO_ServantBase::_create_stub(), CORBA::Object::_nil(), 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().

01034 {
01035   TAO_Stub *stub = this->_create_stub ();
01036 
01037   TAO_Stub_Auto_Ptr safe_stub (stub);
01038   CORBA::Object_ptr tmp = CORBA::Object::_nil ();
01039 
01040   CORBA::Boolean _tao_opt_colloc =
01041     stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
01042 
01043   ACE_NEW_RETURN (
01044       tmp,
01045       CORBA::Object (stub, _tao_opt_colloc, this),
01046       0
01047     );
01048 
01049   CORBA::Object_var obj = tmp;
01050   (void) safe_stub.release ();
01051 
01052   typedef ::CORBA::Policy STUB_SCOPED_NAME;
01053   return
01054     TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
01055         obj.in (),
01056         CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer
01057       );
01058 }

virtual ::CORBA::Policy_ptr POA_CORBA::Policy::copy void   )  [pure virtual]
 

Implemented in POA_CORBA::Policy_tie< T >.

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

virtual void POA_CORBA::Policy::destroy void   )  [pure virtual]
 

Implemented in POA_CORBA::Policy_tie< T >.

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

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 Sun Jan 27 13:28:00 2008 for TAO_PortableServer by doxygen 1.3.6