TAO_ORB_Manager Class Reference

Helper class for simple ORB/POA initialization and registering servants with the POA. More...

#include <ORB_Manager.h>

Collaboration diagram for TAO_ORB_Manager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_ORB_Manager (CORBA::ORB_ptr orb=0, PortableServer::POA_ptr poa=0, PortableServer::POAManager_ptr poa_manager=0)
int init (int &argc, char *argv[] ACE_ENV_ARG_DECL_WITH_DEFAULTS)
int init (int &argc, char *argv[], const char *orb_name ACE_ENV_ARG_DECL_WITH_DEFAULTS)
int init_child_poa (int &argc, char *argv[], const char *poa_name ACE_ENV_ARG_DECL_WITH_DEFAULTS)
int init_child_poa (int &argc, char *argv[], const char *poa_name, const char *orb_name ACE_ENV_ARG_DECL_WITH_DEFAULTS)
int fini (ACE_ENV_SINGLE_ARG_DECL)
 ~TAO_ORB_Manager (void)
 Destructor.
int activate_poa_manager (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
char * activate (PortableServer::Servant servant ACE_ENV_ARG_DECL_WITH_DEFAULTS)
void deactivate (const char *id ACE_ENV_ARG_DECL_WITH_DEFAULTS)
char * activate_under_child_poa (const char *object_name, PortableServer::Servant servant ACE_ENV_ARG_DECL_WITH_DEFAULTS)
void deactivate_under_child_poa (const char *id ACE_ENV_ARG_DECL_WITH_DEFAULTS)
int run (ACE_Time_Value &tv ACE_ENV_ARG_DECL_WITH_DEFAULTS)
int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
CORBA::ORB_ptr orb (void)
PortableServer::POA_ptr root_poa (void)
PortableServer::POA_ptr child_poa (void)
PortableServer::POAManager_ptr poa_manager (void)

Protected Attributes

CORBA::ORB_var orb_
 The ORB.
PortableServer::POA_var poa_
 The POA for this ORB.
PortableServer::POA_var child_poa_
 Child poa under the root POA.
PortableServer::POAManager_var poa_manager_
 The POA manager of poa_.

Detailed Description

Helper class for simple ORB/POA initialization and registering servants with the POA.

This class is a TAO extension that makes it easier to write CORBA applications. It's just a wrapper and doesn't do anything special within the ORB itself.


Constructor & Destructor Documentation

TAO_ORB_Manager::TAO_ORB_Manager CORBA::ORB_ptr  orb = 0,
PortableServer::POA_ptr  poa = 0,
PortableServer::POAManager_ptr  poa_manager = 0
 

Constructor.

Parameters:
orb pointer to an ORB which is duplicated an stored internally in an ORB_var. If pointer is 0, a new ORB pointer is created internally in the init() call.
poa pointer to a POA which is duplicated and stored internally in a POA_var. If pointer is 0, a pointer to the Root POA is obtained from the ORB.
poa_manager pointer to a POA Manager which is duplicated and stored internally in a POAManager_var. If pointer is 0, a new POAManager is created internally in the init() call.

TAO_ORB_Manager::~TAO_ORB_Manager void   ) 
 

Destructor.


Member Function Documentation

char * TAO_ORB_Manager::activate PortableServer::Servant servant  ACE_ENV_ARG_DECL_WITH_DEFAULTS  ) 
 

Activate <servant>, using the POA <activate_object> call. Users can call this method multiple times to activate multiple objects.

Returns:
0 on failure, a string representation of the object ID if successful. Caller of this method is responsible for memory deallocation of the string.

int TAO_ORB_Manager::activate_poa_manager ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   ) 
 

Put POA manager into the <Active> state, so that incoming corba requests are processed. This method is useful for clients, which are not going to enter "orb->run" loop, yet may want to service incoming requests while waiting for a result of CORBA call on a server.

Returns:
-1 on failure, 0 on success

char * TAO_ORB_Manager::activate_under_child_poa const char *  object_name,
PortableServer::Servant servant  ACE_ENV_ARG_DECL_WITH_DEFAULTS
 

Precondition: init_child_poa has been called. Activate <servant> using the POA <activate_object_with_id> created from the string <object_name>. Users should call this to activate objects under the child_poa.

Parameters:
object_name String name which will be used to create an Object ID for the servant.
servant The servant to activate under the child POA.
Returns:
0 on failure, a string representation of the object ID if successful. Caller of this method is responsible for memory deallocation of the string.

PortableServer::POA_ptr TAO_ORB_Manager::child_poa void   ) 
 

Accessor which returns the child poa. Following the normal CORBA memory management rules of return values from functions, this function duplicates the poa return value before returning it.

Returns:
Child POA pointer which has been duplicated. Caller must release pointer when done.

void TAO_ORB_Manager::deactivate const char *id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  ) 
 

Deactivate object in RootPOA.

Parameters:
id a string representation of the Object ID of the servant to deactivate in the POA

void TAO_ORB_Manager::deactivate_under_child_poa const char *id  ACE_ENV_ARG_DECL_WITH_DEFAULTS  ) 
 

Deactivate object in child POA.

Parameters:
id string representation of the object ID, which represents the object to deactivate in the POA

int TAO_ORB_Manager::fini ACE_ENV_SINGLE_ARG_DECL   ) 
 

Shut down. Invoke the destroy() methods on the orb and poa.

Returns:
-1 on failure, 0 on success

int TAO_ORB_Manager::init int &  argc,
char *  argv[],
const char *orb_name  ACE_ENV_ARG_DECL_WITH_DEFAULTS
 

Initialize the ORB/root POA, using the supplied command line arguments or the default ORB components.

Returns:
-1 on failure, 0 on success

int TAO_ORB_Manager::init int &  argc,
char *argv[]  ACE_ENV_ARG_DECL_WITH_DEFAULTS
 

Initialize the ORB/root POA, using the supplied command line arguments or the default ORB components.

Returns:
-1 on failure, 0 on success

int TAO_ORB_Manager::init_child_poa int &  argc,
char *  argv[],
const char *  poa_name,
const char *orb_name  ACE_ENV_ARG_DECL_WITH_DEFAULTS
 

Creates a child poa under the root poa with PERSISTENT and USER_ID policies. Call this if you want a <child_poa> with the above policies, otherwise call init. Returns -1 on failure.

int TAO_ORB_Manager::init_child_poa int &  argc,
char *  argv[],
const char *poa_name  ACE_ENV_ARG_DECL_WITH_DEFAULTS
 

Creates a child poa under the root poa with PERSISTENT and USER_ID policies. Call this if you want a <child_poa> with the above policies, otherwise call init.

Returns:
-1 on failure, 0 on success

CORBA::ORB_ptr TAO_ORB_Manager::orb void   ) 
 

Accessor which returns the ORB pointer. Following the normal CORBA memory management rules of return values from functions, this function duplicates the orb return value before returning it.

Returns:
orb ORB pointer which has been duplicated, so caller must release pointer when done.

PortableServer::POAManager_ptr TAO_ORB_Manager::poa_manager void   ) 
 

Accessor which returns the poa manager. Following the normal CORBA memory management rules of return values from functions, this function duplicates the poa manager return value before returning it.

Returns:
POAManager pointer which has been duplicated. Caller must release pointer when done.

PortableServer::POA_ptr TAO_ORB_Manager::root_poa void   ) 
 

Accessor which returns the root poa. Following the normal CORBA memory management rules of return values from functions, this function duplicates the poa return value before returning it.

Returns:
poa Root POA pointer which has been duplicated. Caller must release pointer when done.

int TAO_ORB_Manager::run ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   ) 
 

int TAO_ORB_Manager::run ACE_Time_Value &tv  ACE_ENV_ARG_DECL_WITH_DEFAULTS  ) 
 

Run the ORB event loop with the specified <tv> time value.

Parameters:
tv the time interval for how long to run the ORB event loop.
Returns:
-1 on failure, 0 on success


Member Data Documentation

PortableServer::POA_var TAO_ORB_Manager::child_poa_ [protected]
 

Child poa under the root POA.

CORBA::ORB_var TAO_ORB_Manager::orb_ [protected]
 

The ORB.

PortableServer::POA_var TAO_ORB_Manager::poa_ [protected]
 

The POA for this ORB.

PortableServer::POAManager_var TAO_ORB_Manager::poa_manager_ [protected]
 

The POA manager of poa_.


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:09:51 2005 for TAO_PortableServer by  doxygen 1.4.5