TAO_PI  2.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
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.

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::StringSeqarguments (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.

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)

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

Reimplemented from CORBA::LocalObject.

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.

Prevent copying through the copy constructor and the assignment operator.


Member Function Documentation

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

Reimplemented from CORBA::LocalObject.

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

Reimplemented from CORBA::LocalObject.

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

Reimplemented from CORBA::LocalObject.

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

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

Register an IOR interceptor with the ORB currently being initialized.

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

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

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

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

Implements PortableInterceptor::ORBInitInfo.

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.

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

Implements PortableInterceptor::ORBInitInfo.

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.

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

Return the CodecFactory for the ORB currently being initialized.

Implements PortableInterceptor::ORBInitInfo.

void TAO_ORBInitInfo::invalidate ( void  ) [inline]

Invalidate this ORBInitInfo instance.

Note:
This method is only meant to be called by the CORBA::ORB_init() function.
void TAO_ORBInitInfo::operator= ( const TAO_ORBInitInfo ) [private]
TAO_ORB_Core * TAO_ORBInitInfo::orb_core ( void  ) const [inline]

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.

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

Return the ORBid for the ORB currently being initialized.

Implements PortableInterceptor::ORBInitInfo.

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.

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

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.

Implements PortableInterceptor::ORBInitInfo.

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


Member Data Documentation

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().

Reference to the ORB Core.

Reimplemented from CORBA::Object.

The number of allocated slots.


The documentation for this class was generated from the following files: