TAO_PI  2.1.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_ORBInitInfo Class Reference

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

#include <ORBInitInfo.h>

Inheritance diagram for TAO_ORBInitInfo:
Inheritance graph
Collaboration diagram for TAO_ORBInitInfo:
Collaboration graph

Public Member Functions

 TAO_ORBInitInfo (TAO_ORB_Core *orb_core, int argc, char *argv[], PortableInterceptor::SlotId slotid)
 Constructor. More...
 
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. More...
 
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. More...
 
TAO_ORB_Coreorb_core (void) const
 
void invalidate (void)
 Invalidate this ORBInitInfo instance. More...
 
PortableInterceptor::SlotId slot_count (void) const
 

Protected Member Functions

 ~TAO_ORBInitInfo (void)
 
void check_validity (void)
 
- Protected Member Functions inherited from CORBA::LocalObject
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 

Private Member Functions

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

Private Attributes

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

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)
 

Additional Inherited Members

- Public Types inherited from CORBA::LocalObject
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from CORBA::LocalObject
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil (void)
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 

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

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

TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_duplicate ( TAO_ORBInitInfo_ptr  obj)
static
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::Object.

const char * TAO_ORBInitInfo::_interface_repository_id ( void  ) const
virtual
TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_narrow ( CORBA::Object_ptr  obj)
static
static TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_nil ( void  )
inlinestatic
static TAO_ORBInitInfo_ptr TAO_ORBInitInfo::_unchecked_narrow ( CORBA::Object_ptr  obj)
static
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_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_ior_interceptor ( PortableInterceptor::IORInterceptor_ptr  interceptor)
virtual

Register an IOR interceptor with the ORB currently being initialized.

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.

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

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

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

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.
CORBA::StringSeq * TAO_ORBInitInfo::arguments ( void  )
virtual

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

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.

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.
char * TAO_ORBInitInfo::orb_id ( void  )
virtual

Return the ORBid 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.

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

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

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

TAO_ORB_Core* TAO_ORBInitInfo::orb_core_
private

Reference to the ORB Core.

PortableInterceptor::SlotId TAO_ORBInitInfo::slot_count_
private

The number of allocated slots.


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