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

# TAO_ORBInitInfo Class Reference

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

`#include <ORBInitInfo.h>`

Inheritance diagram for TAO_ORBInitInfo:

[legend]
Collaboration diagram for TAO_ORBInitInfo:

[legend]
List of all members.

## Reference Related Methods
typedef TAO_ORBInitInfo_ptr | _ptr_type
| Useful for template programming. More...
typedef TAO_ORBInitInfo_var | _var_type
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...
TAO_ORBInitInfo_ptr | _duplicate (TAO_ORBInitInfo_ptr obj)
TAO_ORBInitInfo_ptr | _narrow (CORBA::Object_ptr obj ACE_ENV_ARG_DECL_WITH_DEFAULTS)
TAO_ORBInitInfo_ptr | _unchecked_narrow (CORBA::Object_ptr obj ACE_ENV_ARG_DECL_WITH_DEFAULTS)
| No-op it is just here to simplify some templates. More...
TAO_ORBInitInfo_ptr | _nil (void)
| Return a NIL object. More...
## Public Methods
| TAO_ORBInitInfo (TAO_ORB_Core *orb_core, int argc, char *argv[])
| Constructor. More...
PortableInterceptor::ORBInitInfo Methods
These methods are exported by the PortableInterceptor::ORBInitInfo interface.
virtual CORBA::StringSeq * | arguments (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the argument vector for the ORB currently being initialized as a string sequence. More...
virtual char * | orb_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the ORBid for the ORB currently being initialized. More...
virtual IOP::CodecFactory_ptr | codec_factory (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Return the CodecFactory for the ORB currently being initialized. More...
virtual void | register_initial_reference (const char *id, CORBA::Object_ptr obj ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::InvalidName)
| Register a mapping between a string and a corresponding object reference with the ORB being initialized. More...
virtual CORBA::Object_ptr | resolve_initial_references (const char *id ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::InvalidName)
| 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. More...
virtual void | add_client_request_interceptor (PortableInterceptor::ClientRequestInterceptor_ptr interceptor ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::DuplicateName)
| Register a client request interceptor with the ORB currently being initialized. More...
virtual void | add_server_request_interceptor (PortableInterceptor::ServerRequestInterceptor_ptr interceptor ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::DuplicateName)
| Register a server request interceptor with the ORB currently being initialized. More...
virtual void | add_ior_interceptor (PortableInterceptor::IORInterceptor_ptr interceptor ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::DuplicateName)
| Register an IOR interceptor with the ORB currently being initialized. More...
virtual PortableInterceptor::SlotId | allocate_slot_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Reserve a slot in table found within the PortableInterceptor::Current object. More...
virtual void | register_policy_factory (CORBA::PolicyType type, PortableInterceptor::PolicyFactory_ptr policy_factory ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Register a policy factory of the given policy type with the ORB currently being initialized. More...
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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
| Allocate a slot in the ORB's TSS resources. More...
TAO_ORB_Core * | orb_core (void) const
| Return a pointer to the ORB Core associated with the ORB being initialized. More...
## Protected Methods
| ~TAO_ORBInitInfo (void)
| Destructor is protected to force instantiation on the heap since ORBInitInfo is reference counted. More...
void | check_validity (ACE_ENV_SINGLE_ARG_DECL)
| 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. More...
## Private Methods
| TAO_ORBInitInfo (const TAO_ORBInitInfo &)
| Prevent copying through the copy constructor and the assignment operator. More...
void | operator= (const TAO_ORBInitInfo &)
## Private Attributes
TAO_ORB_Core * | orb_core_
| Reference to the ORB Core. More...
int | argc_
| The number of arguments in the argument vector passed to CORBA::ORB_init(). More...
char ** | argv_
| The argument vector passed to CORBA::ORB_init(). More...
IOP::CodecFactory_var | codec_factory_
| Reference to the CodecFactory returned by ORBInitInfo::codec_factory(). More...
## Friends
CORBA::ORB_ptr | CORBA::ORB_init (int &, char *argv[], const char *, CORBA_Environment &)

## Detailed Description

An implementation of the PortableInterceptor::ORBInitInfo interface.

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

## Member Typedef Documentation

typedef TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_ptr_type

| Useful for template programming. 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[]
| ) |

| Constructor.

TAO_ORBInitInfo::~TAO_ORBInitInfo | ( | void |  | ) | `[protected]`

| Destructor is protected to force instantiation on the heap since ORBInitInfo is reference counted.

TAO_ORBInitInfo::TAO_ORBInitInfo | ( | const TAO_ORBInitInfo & |  | ) | `[private]`

| Prevent copying through the copy constructor and the assignment operator.

## Member Function Documentation

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

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

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

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

| @ Narrowing a CORBA_LocalObject to a CORBA_Object is broken right now. The solution seems to be making CORBA_Object an abstract base class and create a CORBA_RemoteObject for regular object. Or, even easier, add a <is_local> member into CORBA_Object. I'll take the easier route for now. Reimplemented from CORBA_LocalObject.

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

| Return a NIL object. Reimplemented from CORBA_LocalObject.

void * TAO_ORBInitInfo::_tao_QueryInterface | ( | ptr_arith_t | type | ) | `[virtual]`

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

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

| No-op it is just here to simplify some templates. Reimplemented from CORBA_LocalObject.

void TAO_ORBInitInfo::add_client_request_interceptor | ( | PortableInterceptor::ClientRequestInterceptor_ptr interceptor | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::DuplicateName)`[virtual]`

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

void TAO_ORBInitInfo::add_ior_interceptor | ( | PortableInterceptor::IORInterceptor_ptr interceptor | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::DuplicateName)`[virtual]`

| Register an IOR interceptor with the ORB currently being initialized.

void TAO_ORBInitInfo::add_server_request_interceptor | ( | PortableInterceptor::ServerRequestInterceptor_ptr interceptor | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::DuplicateName)`[virtual]`

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

PortableInterceptor::SlotId TAO_ORBInitInfo::allocate_slot_id | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

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

size_t TAO_ORBInitInfo::allocate_tss_slot_id | ( | ACE_CLEANUP_FUNC cleanup | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException)

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

CORBA::StringSeq * TAO_ORBInitInfo::arguments | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

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

void TAO_ORBInitInfo::check_validity | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | `[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 | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the CodecFactory for the ORB currently being initialized.

void TAO_ORBInitInfo::operator= | ( | const TAO_ORBInitInfo & |  | ) | `[private]`

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.

char * TAO_ORBInitInfo::orb_id | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException)`[virtual]`

| Return the ORBid for the ORB currently being initialized.

void TAO_ORBInitInfo::register_initial_reference | ( | const char * | id,
|  | CORBA::Object_ptr obj | ACE_ENV_ARG_DECL
| ) | throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::InvalidName)`[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.

void TAO_ORBInitInfo::register_policy_factory | ( | CORBA::PolicyType | type,
|  | PortableInterceptor::PolicyFactory_ptr policy_factory | ACE_ENV_ARG_DECL
| ) | throw (CORBA::SystemException)`[virtual]`

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

CORBA::Object_ptr TAO_ORBInitInfo::resolve_initial_references | ( | const char *id | ACE_ENV_ARG_DECL | ) | throw (CORBA::SystemException, PortableInterceptor::ORBInitInfo::InvalidName)`[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.

## Friends And Related Function Documentation

CORBA::ORB_ptr CORBA::ORB_init | ( | int & | ,
|  | char * | argv[],
|  | const char * | ,
|  | CORBA_Environment & |
| ) | `[friend]`

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

TAO_ORB_Core* TAO_ORBInitInfo::orb_core_`[private]`

| Reference to the ORB Core.

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

- ORBInitInfo.h
- ORBInitInfo.cpp
- ORBInitInfo.inl