Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions

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 79 of file PortableServer/PolicyS.h.


Member Typedef Documentation

Definition at line 88 of file PortableServer/PolicyS.h.

Definition at line 87 of file PortableServer/PolicyS.h.

Definition at line 89 of file PortableServer/PolicyS.h.


Constructor & Destructor Documentation

POA_CORBA::Policy::Policy ( void   )  [protected]

Definition at line 400 of file PolicyS.cpp.

POA_CORBA::Policy::Policy ( const Policy rhs  ) 

Definition at line 406 of file PolicyS.cpp.

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

Definition at line 412 of file PolicyS.cpp.

{
}


Member Function Documentation

static void POA_CORBA::Policy::_component_skel ( TAO_ServerRequest req,
void *  servant_upcall,
void *  servant 
) [static]
void POA_CORBA::Policy::_dispatch ( TAO_ServerRequest request,
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.

{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                    );
}

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

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

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

Definition at line 867 of file PolicyS.cpp.

{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );

  if (_tao_adapter == 0)
    {
      throw ::CORBA::INTF_REPOS (CORBA::OMGVMCID | 1, CORBA::COMPLETED_NO);
    }

  POA_CORBA::Policy * const impl =
    static_cast<POA_CORBA::Policy *> (servant);
  CORBA::InterfaceDef_ptr _tao_retval =
    impl->_get_interface ();

  server_request.init_reply ();
  TAO_OutputCDR &_tao_out = *server_request.outgoing ();

  CORBA::Boolean const _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );

  _tao_adapter->dispose (_tao_retval);

  if (_tao_result == 0)
    {
      throw ::CORBA::MARSHAL ();
    }
}

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.

{
  return
    (
      !ACE_OS::strcmp (
          value,
          "IDL:omg.org/CORBA/Policy:1.0"
        ) ||
      !ACE_OS::strcmp (
          value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
    );
}

static void POA_CORBA::Policy::_is_a_skel ( TAO_ServerRequest req,
void *  servant_upcall,
void *  servant 
) [static]
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 1035 of file PolicyS.cpp.

{
  TAO_Stub *stub = this->_create_stub ();

  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();

  CORBA::Boolean _tao_opt_colloc =
    stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();

  ACE_NEW_RETURN (
      tmp,
      CORBA::Object (stub, _tao_opt_colloc, this),
      0
    );

  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();

  typedef ::CORBA::Policy STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA__TAO_Policy_Proxy_Broker_Factory_function_pointer
      );
}

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]
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]
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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines