Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

CORBA::ConstructionPolicy Interface Reference

#include <DomainC.h>

Inheritance diagram for CORBA::ConstructionPolicy:

Inheritance graph
[legend]
Collaboration diagram for CORBA::ConstructionPolicy:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ConstructionPolicy_ptr _ptr_type
typedef ConstructionPolicy_var _var_type

Public Methods

void make_domain_manager (in InterfaceDef object_type, in boolean constr_policy)
virtual void make_domain_manager (CORBA::InterfaceDef_ptr object_type, CORBA::Boolean constr_policy ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw ( CORBA::SystemException )
virtual CORBA::Boolean _is_a (const CORBA::Char *type_id ACE_ENV_ARG_DECL_WITH_DEFAULTS)
virtual void * _tao_QueryInterface (ptr_arith_t type)
 Downcasting this object pointer to some other derived class. This QueryInterface stuff only work for local object. More...

virtual const char * _interface_repository_id (void) const
 The repository ID for the most derived class, this is an implementation method and does no remote invocations! More...


Static Public Methods

ConstructionPolicy_ptr _duplicate (ConstructionPolicy_ptr obj)
ConstructionPolicy_ptr _narrow (CORBA::Object_ptr obj ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ConstructionPolicy_ptr _unchecked_narrow (CORBA::Object_ptr obj ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ConstructionPolicy_ptr _nil (void)
 Return a NULL object. More...

void _tao_any_destructor (void *)
 Used in the implementation of CORBA::Any. More...


Static Public Attributes

int _tao_class_id = 0
 Address of this variable used in _unchecked_narrow(). More...


Protected Methods

 ConstructionPolicy (int collocated=0)
virtual void CORBA_ConstructionPolicy_setup_collocation (int collocated)
 ConstructionPolicy (TAO_Stub *objref, CORBA::Boolean _tao_collocated=0, TAO_Abstract_ServantBase *servant=0)
virtual ~ConstructionPolicy (void)

Private Methods

 ConstructionPolicy (const ConstructionPolicy &)
void operator= (const ConstructionPolicy &)

Private Attributes

_TAO_ConstructionPolicy_Proxy_Brokerthe_TAO_ConstructionPolicy_Proxy_Broker_

Friends

class _TAO_ConstructionPolicy_Remote_Proxy_Impl
class _TAO_ConstructionPolicy_ThruPOA_Proxy_Impl
class _TAO_ConstructionPolicy_Direct_Proxy_Impl

Member Typedef Documentation

typedef ConstructionPolicy_ptr CORBA::ConstructionPolicy::_ptr_type
 

Implements CORBA::Policy.

Definition at line 459 of file DomainC.h.

typedef ConstructionPolicy_var CORBA::ConstructionPolicy::_var_type
 

Implements CORBA::Policy.

Definition at line 460 of file DomainC.h.


Constructor & Destructor Documentation

CORBA::ConstructionPolicy::ConstructionPolicy int    collocated = 0 [protected]
 

Definition at line 1396 of file DomainC.cpp.

References CORBA_ConstructionPolicy_setup_collocation.

Referenced by _tao_any_destructor, and _tao_QueryInterface.

01397 {
01398   this->CORBA_ConstructionPolicy_setup_collocation (collocated);
01399 }

ACE_INLINE CORBA::ConstructionPolicy::ConstructionPolicy TAO_Stub   objref,
CORBA::Boolean    _tao_collocated = 0,
TAO_Abstract_ServantBase   servant = 0
[protected]
 

Definition at line 45 of file DomainC.i.

References CORBA_ConstructionPolicy_setup_collocation.

00050   : CORBA_Object (objref, _tao_collocated, servant)
00051 {
00052   this->CORBA_ConstructionPolicy_setup_collocation (_tao_collocated);
00053 }

CORBA::ConstructionPolicy::~ConstructionPolicy void    [protected, virtual]
 

Definition at line 1401 of file DomainC.cpp.

01402 {}

CORBA::ConstructionPolicy::ConstructionPolicy const ConstructionPolicy &    [private]
 


Member Function Documentation

CORBA::ConstructionPolicy_ptr CORBA::ConstructionPolicy::_duplicate ConstructionPolicy_ptr    obj [static]
 

Definition at line 1505 of file DomainC.cpp.

References CORBA_Object::_add_ref, CORBA::ConstructionPolicy_ptr, and CORBA::is_nil.

Referenced by operator<<=, and tao_CORBA_ConstructionPolicy_duplicate.

01506 {
01507   if (!CORBA::is_nil (obj))
01508     obj->_add_ref ();
01509   return obj;
01510 }

const char * CORBA::ConstructionPolicy::_interface_repository_id void    const [virtual]
 

The repository ID for the most derived class, this is an implementation method and does no remote invocations!

Implements CORBA::Policy.

Definition at line 1551 of file DomainC.cpp.

01552 {
01553   return "IDL:omg.org/CORBA/ConstructionPolicy:1.0";
01554 }

virtual CORBA::Boolean CORBA::ConstructionPolicy::_is_a const CORBA::Char *type_id    ACE_ENV_ARG_DECL_WITH_DEFAULTS [virtual]
 

Implements CORBA::Policy.

CORBA::ConstructionPolicy_ptr CORBA::ConstructionPolicy::_narrow CORBA::Object_ptr obj    ACE_ENV_ARG_DECL_WITH_DEFAULTS [static]
 

Implements CORBA::Policy.

Definition at line 1423 of file DomainC.cpp.

References ACE_CHECK_RETURN, ACE_ENV_ARG_DECL, ACE_ENV_ARG_PARAMETER, and CORBA::is_nil.

Referenced by tao_CORBA_ConstructionPolicy_narrow.

01427 {
01428   if (CORBA::is_nil (obj))
01429     return ConstructionPolicy::_nil ();
01430   if (! obj->_is_local ())
01431     {
01432       CORBA::Boolean is_a = obj->_is_a ("IDL:omg.org/CORBA/ConstructionPolicy:1.0" ACE_ENV_ARG_PARAMETER);
01433       ACE_CHECK_RETURN (ConstructionPolicy::_nil ());
01434       if (is_a == 0)
01435         return ConstructionPolicy::_nil ();
01436     }
01437   return ConstructionPolicy::_unchecked_narrow (obj ACE_ENV_ARG_PARAMETER);
01438 }

ConstructionPolicy_ptr CORBA::ConstructionPolicy::_nil void    [inline, static]
 

Return a NULL object.

Implements CORBA::Policy.

Definition at line 478 of file DomainC.h.

References CORBA::ConstructionPolicy_ptr.

Referenced by operator>>=, and tao_CORBA_ConstructionPolicy_nil.

00479       {
00480         return (ConstructionPolicy_ptr)0;
00481       }

void CORBA::ConstructionPolicy::_tao_any_destructor void *    [static]
 

Used in the implementation of CORBA::Any.

Implements CORBA::Policy.

Definition at line 1417 of file DomainC.cpp.

References ConstructionPolicy, and CORBA::release.

Referenced by operator<<=, and operator>>=.

01418 {
01419   ConstructionPolicy *tmp = ACE_static_cast (ConstructionPolicy*, _tao_void_pointer);
01420   CORBA::release (tmp);
01421 }

void * CORBA::ConstructionPolicy::_tao_QueryInterface ptr_arith_t    type [virtual]
 

Downcasting this object pointer to some other derived class. This QueryInterface stuff only work for local object.

Implements CORBA::Policy.

Definition at line 1523 of file DomainC.cpp.

References CORBA_Object::_add_ref, _tao_class_id, ACE_NESTED_CLASS, ConstructionPolicy, and ptr_arith_t.

01524 {
01525   void *retv = 0;
01526   if (type == ACE_reinterpret_cast
01527     (ptr_arith_t,
01528       &ACE_NESTED_CLASS (::CORBA, ConstructionPolicy)::_tao_class_id))
01529     retv = ACE_reinterpret_cast (void*, this);
01530   else if (type == ACE_reinterpret_cast
01531     (ptr_arith_t,
01532       &::CORBA::Policy::_tao_class_id))
01533     retv = ACE_reinterpret_cast
01534       (
01535         void *,
01536         ACE_static_cast
01537           (
01538             CORBA::Policy_ptr,
01539             this
01540           )
01541       );
01542   else if (type == ACE_reinterpret_cast (ptr_arith_t, &CORBA::Object::_tao_class_id))
01543     retv = ACE_reinterpret_cast (void *,
01544       ACE_static_cast (CORBA::Object_ptr, this));
01545     
01546   if (retv)
01547     this->_add_ref ();
01548   return retv;
01549 }

CORBA::ConstructionPolicy_ptr CORBA::ConstructionPolicy::_unchecked_narrow CORBA::Object_ptr obj    ACE_ENV_ARG_DECL_WITH_DEFAULTS [static]
 

Implements CORBA::Policy.

Definition at line 1441 of file DomainC.cpp.

References TAO_Stub::_incr_refcnt, ACE_ENV_ARG_DECL_NOT_USED, ACE_NEW_RETURN, CORBA::ConstructionPolicy_ptr, CORBA__TAO_ConstructionPolicy_Proxy_Broker_Factory_function_pointer, CORBA::is_nil, ptr_arith_t, and TAO_Stub::servant_orb_var.

Referenced by operator>>.

01445 {
01446   if (CORBA::is_nil (obj))
01447     return ConstructionPolicy::_nil ();
01448   if (! obj->_is_local ())
01449     {
01450       TAO_Stub* stub = obj->_stubobj ();
01451       if (stub)
01452         stub->_incr_refcnt ();
01453       ConstructionPolicy_ptr default_proxy = ConstructionPolicy::_nil ();
01454 
01455       if (
01456           !CORBA::is_nil (stub->servant_orb_var ().ptr ()) &&
01457           stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects () &&
01458           obj->_is_collocated () &&
01459           CORBA__TAO_ConstructionPolicy_Proxy_Broker_Factory_function_pointer != 0
01460         )
01461         {
01462           ACE_NEW_RETURN (
01463               default_proxy,
01464               ::CORBA::ConstructionPolicy (
01465                   stub,
01466                   1,
01467                   obj->_servant ()
01468                 ),
01469               ConstructionPolicy::_nil ()
01470             );
01471         }
01472       
01473       if (CORBA::is_nil (default_proxy))
01474         {
01475           ACE_NEW_RETURN (
01476               default_proxy,
01477               ::CORBA::ConstructionPolicy (
01478                   stub,
01479                   0,
01480                   obj->_servant ()
01481                 ),
01482               ConstructionPolicy::_nil ()
01483             );
01484         }
01485       
01486       return default_proxy;
01487     }
01488   else 
01489     return
01490       ACE_reinterpret_cast
01491         (
01492           ConstructionPolicy_ptr,
01493             obj->_tao_QueryInterface
01494               (
01495                 ACE_reinterpret_cast
01496                   (
01497                     ptr_arith_t,
01498                     &ConstructionPolicy::_tao_class_id
01499                   )
01500               )
01501         );
01502 }

void CORBA::ConstructionPolicy::CORBA_ConstructionPolicy_setup_collocation int    collocated [protected, virtual]
 

Definition at line 1405 of file DomainC.cpp.

References CORBA::Policy::CORBA_Policy_setup_collocation, and the_TAO_ConstructionPolicy_Proxy_Broker_.

Referenced by ConstructionPolicy.

01406 {
01407   if (collocated)
01408     this->the_TAO_ConstructionPolicy_Proxy_Broker_ =
01409       ::CORBA__TAO_ConstructionPolicy_Proxy_Broker_Factory_function_pointer (this);
01410   else
01411     this->the_TAO_ConstructionPolicy_Proxy_Broker_ =
01412       ::CORBA::_TAO_ConstructionPolicy_Remote_Proxy_Broker::the_TAO_ConstructionPolicy_Remote_Proxy_Broker ();
01413   
01414   this->CORBA_Policy_setup_collocation (collocated);
01415 }

void CORBA::ConstructionPolicy::make_domain_manager CORBA::InterfaceDef_ptr    object_type,
CORBA::Boolean constr_policy    ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw ( CORBA::SystemException ) [virtual]
 

Definition at line 1556 of file DomainC.cpp.

References ACE_CHECK, ACE_ENV_ARG_DECL, and ACE_ENV_ARG_PARAMETER.

01564 {
01565   _TAO_ConstructionPolicy_Proxy_Impl &proxy = 
01566     this->the_TAO_ConstructionPolicy_Proxy_Broker_->select_proxy (this ACE_ENV_ARG_PARAMETER);
01567   ACE_CHECK;
01568   
01569   proxy.make_domain_manager (
01570       this,
01571       object_type,
01572       constr_policy ACE_ENV_ARG_PARAMETER
01573     );
01574 }

void CORBA::ConstructionPolicy::make_domain_manager in InterfaceDef    object_type,
in boolean    constr_policy
 

void CORBA::ConstructionPolicy::operator= const ConstructionPolicy &    [private]
 


Friends And Related Function Documentation

friend class _TAO_ConstructionPolicy_Direct_Proxy_Impl [friend]
 

Definition at line 521 of file DomainC.h.

friend class _TAO_ConstructionPolicy_Remote_Proxy_Impl [friend]
 

Definition at line 519 of file DomainC.h.

friend class _TAO_ConstructionPolicy_ThruPOA_Proxy_Impl [friend]
 

Definition at line 520 of file DomainC.h.


Member Data Documentation

TAO_NAMESPACE_END TAO_NAMESPACE_END int CORBA::ConstructionPolicy::_tao_class_id = 0 [static]
 

Address of this variable used in _unchecked_narrow().

Implements CORBA::Policy.

Definition at line 828 of file DomainC.cpp.

Referenced by _tao_QueryInterface.

_TAO_ConstructionPolicy_Proxy_Broker* CORBA::ConstructionPolicy::the_TAO_ConstructionPolicy_Proxy_Broker_ [private]
 

Definition at line 504 of file DomainC.h.

Referenced by CORBA_ConstructionPolicy_setup_collocation.


The documentation for this interface was generated from the following files:
Generated on Mon Jun 16 15:50:12 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002