TAO_ORBInitInfo Class Reference

An implementation of the PortableInterceptor::ORBInitInfo_3_1 interface. More...

#include <ORBInitInfo.h>

Inheritance diagram for TAO_ORBInitInfo:

Inheritance graph
[legend]
Collaboration diagram for TAO_ORBInitInfo:

Collaboration graph
[legend]

List of all members.

Reference Related Methods

TAO_ORBInitInfo-specific methods and types.

typedef
TAO_ORBInitInfo_ptr 
_ptr_type
typedef
TAO_ORBInitInfo_var 
_var_type
static
TAO_ORBInitInfo_ptr 
_duplicate (TAO_ORBInitInfo_ptr obj)
static
TAO_ORBInitInfo_ptr 
_narrow (CORBA::Object_ptr obj)
static
TAO_ORBInitInfo_ptr 
_unchecked_narrow (CORBA::Object_ptr obj)
static
TAO_ORBInitInfo_ptr 
_nil (void)

Public Member Functions

 TAO_ORBInitInfo (TAO_ORB_Core *orb_core, int argc, char *argv[], PortableInterceptor::SlotId slotid)
 Constructor.
virtual const char * _interface_repository_id (void) const
PortableInterceptor::ORBInitInfo Methods
These methods are exported by the PortableInterceptor::ORBInitInfo interface.

virtual
CORBA::StringSeq * 
arguments (void)
virtual char * orb_id (void)
 Return the ORBid for the ORB currently being initialized.
virtual
IOP::CodecFactory_ptr 
codec_factory (void)
virtual void register_initial_reference (const char *id, CORBA::Object_ptr obj)
virtual CORBA::Object_ptr resolve_initial_references (const char *id)
virtual void add_client_request_interceptor (PortableInterceptor::ClientRequestInterceptor_ptr interceptor)
virtual void add_server_request_interceptor (PortableInterceptor::ServerRequestInterceptor_ptr interceptor)
virtual void add_ior_interceptor (PortableInterceptor::IORInterceptor_ptr interceptor)
virtual void add_client_request_interceptor_with_policy (PortableInterceptor::ClientRequestInterceptor_ptr interceptor, const CORBA::PolicyList &policies)
virtual void add_server_request_interceptor_with_policy (PortableInterceptor::ServerRequestInterceptor_ptr interceptor, const CORBA::PolicyList &policies)
virtual void add_ior_interceptor_with_policy (PortableInterceptor::IORInterceptor_ptr interceptor, const CORBA::PolicyList &policies)
virtual
PortableInterceptor::SlotId 
allocate_slot_id (void)
virtual void register_policy_factory (CORBA::PolicyType type, PortableInterceptor::PolicyFactory_ptr policy_factory)
virtual CORBA::ORB_ptr _get_orb (void)
TAO Extensions
These methods are not part of the PortableInterceptor specification, and are TAO-specific extensions.

size_t allocate_tss_slot_id (ACE_CLEANUP_FUNC cleanup)
 Allocate a slot in the ORB's TSS resources.
TAO_ORB_Coreorb_core (void) const
void invalidate (void)
 Invalidate this ORBInitInfo instance.
PortableInterceptor::SlotId slot_count (void) const

Protected Member Functions

 ~TAO_ORBInitInfo (void)
void check_validity (void)

Private Member Functions

 TAO_ORBInitInfo (const TAO_ORBInitInfo &)
void operator= (const TAO_ORBInitInfo &)

Private Attributes

TAO_ORB_Coreorb_core_
 Reference to the ORB Core.
int argc_
char ** argv_
 The argument vector passed to CORBA::ORB_init().
IOP::CodecFactory_var codec_factory_
PortableInterceptor::SlotId slot_count_
 The number of allocated slots.


Detailed Description

An implementation of the PortableInterceptor::ORBInitInfo_3_1 interface.

This class encapsulates the data passed to ORBInitializers during ORB initialization.


Member Typedef Documentation

typedef TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_ptr_type

Reimplemented from CORBA::LocalObject.

typedef TAO_ORBInitInfo_var TAO_ORBInitInfo::_var_type

Reimplemented from CORBA::LocalObject.


Constructor & Destructor Documentation

TAO_ORBInitInfo::TAO_ORBInitInfo ( TAO_ORB_Core orb_core,
int  argc,
char *  argv[],
PortableInterceptor::SlotId  slotid 
)

Constructor.

TAO_ORBInitInfo::~TAO_ORBInitInfo ( void   )  [protected]

Destructor is protected to enforce proper memory management through the reference counting mechanism.

TAO_ORBInitInfo::TAO_ORBInitInfo ( const TAO_ORBInitInfo  )  [private]

Prevent copying through the copy constructor and the assignment operator.


Member Function Documentation

CORBA::StringSeq * TAO_ORBInitInfo::arguments ( void   )  [virtual]

Return the argument vector for the ORB currently being initialized as a string sequence.

char * TAO_ORBInitInfo::orb_id ( void   )  [virtual]

Return the ORBid for the ORB currently being initialized.

IOP::CodecFactory_ptr TAO_ORBInitInfo::codec_factory ( void   )  [virtual]

Return the CodecFactory for the ORB currently being initialized.

void TAO_ORBInitInfo::register_initial_reference ( const char *  id,
CORBA::Object_ptr  obj 
) [virtual]

Register a mapping between a string and a corresponding object reference with the ORB being initialized. This method is particularly useful for registering references to local (locality constrained) objects. Note that this method should be called in ORBInitializer::pre_init() so that the registered reference will be available to the resolve_initial_references() that may be called in the ORBInitializer::post_init() call.

CORBA::Object_ptr TAO_ORBInitInfo::resolve_initial_references ( const char *  id  )  [virtual]

Obtain a reference to an object that may not yet be available via the usual CORBA::ORB::resolve_initial_references() mechanism since the ORB may not be fully initialized yet.

void TAO_ORBInitInfo::add_client_request_interceptor ( PortableInterceptor::ClientRequestInterceptor_ptr  interceptor  )  [virtual]

Register a client request interceptor with the ORB currently being initialized.

void TAO_ORBInitInfo::add_server_request_interceptor ( PortableInterceptor::ServerRequestInterceptor_ptr  interceptor  )  [virtual]

Register a server request interceptor with the ORB currently being initialized.

void TAO_ORBInitInfo::add_ior_interceptor ( PortableInterceptor::IORInterceptor_ptr  interceptor  )  [virtual]

Register an IOR interceptor with the ORB currently being initialized.

void TAO_ORBInitInfo::add_client_request_interceptor_with_policy ( PortableInterceptor::ClientRequestInterceptor_ptr  interceptor,
const CORBA::PolicyList &  policies 
) [virtual]

Register a client request interceptor with the ORB currently being initialized, along with a list of policies.

void TAO_ORBInitInfo::add_server_request_interceptor_with_policy ( PortableInterceptor::ServerRequestInterceptor_ptr  interceptor,
const CORBA::PolicyList &  policies 
) [virtual]

Register a server request interceptor with the ORB currently being initialized, along with a list of policies.

void TAO_ORBInitInfo::add_ior_interceptor_with_policy ( PortableInterceptor::IORInterceptor_ptr  interceptor,
const CORBA::PolicyList &  policies 
) [virtual]

Register an IOR interceptor with the ORB currently being initialized, along with a list of policies.

PortableInterceptor::SlotId TAO_ORBInitInfo::allocate_slot_id ( void   )  [virtual]

Reserve a slot in table found within the PortableInterceptor::Current object.

void TAO_ORBInitInfo::register_policy_factory ( CORBA::PolicyType  type,
PortableInterceptor::PolicyFactory_ptr  policy_factory 
) [virtual]

Register a policy factory of the given policy type with the ORB currently being initialized.

CORBA::ORB_ptr TAO_ORBInitInfo::_get_orb ( void   )  [virtual]

Return the argument vector for the ORB currently being initialized as a string sequence.

Reimplemented from CORBA::LocalObject.

size_t TAO_ORBInitInfo::allocate_tss_slot_id ( ACE_CLEANUP_FUNC  cleanup  ) 

Allocate a slot in the ORB's TSS resources.

TAO uses a single TSS key for these resources, so it is useful to place TSS objects in TAO's TSS resources on platforms where the number of TSS keys is low. The returned SlotId can be used to index into the array stored in ORB's TSS resources structure.

An accompanying cleanup function (e.g. a TSS destructor) can also be registered.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_ORB_Core * TAO_ORBInitInfo::orb_core ( void   )  const

Return a pointer to the ORB Core associated with the ORB being initialized. The ORB Core is essentialy fully initialized by the time ORBInitializer::post_init() is invoked. As such, it is generally best if this method is used in that method.

Note:
Only use this method if you know what you are doing.

Reimplemented from CORBA::Object.

ACE_INLINE void TAO_ORBInitInfo::invalidate ( void   ) 

Invalidate this ORBInitInfo instance.

Note:
This method is only meant to be called by the CORBA::ORB_init() function.

ACE_INLINE PortableInterceptor::SlotId TAO_ORBInitInfo::slot_count ( void   )  const

Return the number of allocated slots in for the PICurrent object.

TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_duplicate ( TAO_ORBInitInfo_ptr  obj  )  [static]

TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_narrow ( CORBA::Object_ptr  obj  )  [static]

Reimplemented from CORBA::LocalObject.

static TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_unchecked_narrow ( CORBA::Object_ptr  obj  )  [static]

static TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_nil ( void   )  [inline, static]

Reimplemented from CORBA::LocalObject.

const char * TAO_ORBInitInfo::_interface_repository_id ( void   )  const [virtual]

Reimplemented from CORBA::Object.

void TAO_ORBInitInfo::check_validity ( void   )  [protected]

Check if this ORBInitInfo instance is valid. Once post_init() has been called on each of the ORBInitializers, this ORBInitInfo is no longer valid. Throw an exception in that case.

void TAO_ORBInitInfo::operator= ( const TAO_ORBInitInfo  )  [private]


Member Data Documentation

TAO_ORB_Core* TAO_ORBInitInfo::orb_core_ [private]

Reference to the ORB Core.

Reimplemented from CORBA::Object.

int TAO_ORBInitInfo::argc_ [private]

The number of arguments in the argument vector passed to CORBA::ORB_init().

char** TAO_ORBInitInfo::argv_ [private]

The argument vector passed to CORBA::ORB_init().

IOP::CodecFactory_var TAO_ORBInitInfo::codec_factory_ [private]

Reference to the CodecFactory returned by ORBInitInfo::codec_factory().

PortableInterceptor::SlotId TAO_ORBInitInfo::slot_count_ [private]

The number of allocated slots.


The documentation for this class was generated from the following files:
Generated on Wed Sep 19 04:53:32 2007 for TAO_PI by  doxygen 1.5.3