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

ImR_Activator_i Class Reference

IMR Activator Interface. More...

#include <ImR_Activator_i.h>

Inheritance diagram for ImR_Activator_i:

Inheritance graph
[legend]
Collaboration diagram for ImR_Activator_i:

Collaboration graph
[legend]
List of all members.

Public Methods

 ImR_Activator_i (void)
 ~ImR_Activator_i (void)
char * find_ior (const ACE_CString &object_name ACE_ENV_ARG_DECL) throw (CORBA::SystemException, IORTable::NotFound)
 IOR_LookupTable_Callback method. Will return an IOR. More...

virtual void activate_server (const char *server ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate )
 Starts up the server <server> if not already running. More...

virtual void register_server (const char *server, const ImplementationRepository::StartupOptions &options ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw ( CORBA::SystemException, ImplementationRepository::AlreadyRegistered )
 Adds the server to the repository and registers the startup information about the server <server>. More...

virtual void reregister_server (const char *server, const ImplementationRepository::StartupOptions &options ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Updates the startup information about the server <server>. More...

virtual void remove_server (const char *server ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ImplementationRepository::NotFound)
 Removes the server <server> from the repository. More...

virtual void shutdown_server (const char *server ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ImplementationRepository::NotFound)
 Attempts to gracefully shut down the server,. More...

virtual char * server_is_running (const char *server, const char *location, ImplementationRepository::ServerObject_ptr server_object ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ImplementationRepository::NotFound)
 Called by the server to update transient information such as current location of the <server> and its ServerObject. More...

virtual void server_is_shutting_down (const char *server ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ImplementationRepository::NotFound)
 What the server should call before it shuts down. More...

virtual void find (const char *server, ImplementationRepository::ServerInformation_out info ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ImplementationRepository::NotFound)
 Returns the startup information for a server. More...

virtual void list (CORBA::ULong how_many, ImplementationRepository::ServerInformationList_out server_list, ImplementationRepository::ServerInformationIterator_out server_iterator ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
 Used to access the list of servers registered. May also return an iterator which can be used to access more than <how_many> of them. More...

virtual char * activate_server_with_startup (const char *server, int check_startup ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate )
 Implementation of activate_server. <check_startup> is a flag to check the activation mode before attempting to start it. More...

int init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
 Initialize the Server state - parsing arguments and waiting. More...

int fini (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
 Cleans up any state created by init (). More...

int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
 Runs the orb. More...


Private Methods

void start_server_i (const char *server ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate )
 This method starts the server process. More...

int ready_check (const char *server) throw (CORBA::SystemException, ImplementationRepository::NotFound)
 This method will continuously ping a server and either return when it responds to the ping or return -1 if it times out. More...


Private Attributes

IORTable::Locator_var locator_
 The locator interface for the IORTable. More...

ACE_Process_Manager process_mgr_
 The Process Manager. More...

Server_Repository repository_
 Repository containing information about each server. More...

PortableServer::POA_var root_poa_
 The Root POA for this ORB. More...

PortableServer::POA_var imr_poa_
 Implementation Repository's POA. More...

char * server_key_
 Key of the obj ref of the server. More...

char * server_input_file_
 Copy of the filename for the server output file. More...

TAO_IOR_Multicast * ior_multicast_
 The ior_multicast event handler. More...

CORBA::String_var imr_ior_
 Implementation Repository's IOR. Why do we store it here? Multicast doesn't work otherwise. More...

int argc_
 Number of command line arguments. More...

char ** argv_
 The command line arguments. More...


Friends

class ImR_Forwarder

Detailed Description

IMR Activator Interface.

This class provides the interface for the various activities that can be done by the ImR_Activator.


Constructor & Destructor Documentation

ImR_Activator_i::ImR_Activator_i void   
 

ImR_Activator_i::~ImR_Activator_i void   
 


Member Function Documentation

void ImR_Activator_i::activate_server const char *server    ACE_ENV_ARG_DECL throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate ) [virtual]
 

Starts up the server <server> if not already running.

Reimplemented from POA_ImplementationRepository::Administration.

char * ImR_Activator_i::activate_server_with_startup const char *    server,
int check_startup    ACE_ENV_ARG_DECL
throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate ) [virtual]
 

Implementation of activate_server. <check_startup> is a flag to check the activation mode before attempting to start it.

void ImR_Activator_i::find const char *    server,
ImplementationRepository::ServerInformation_out info    ACE_ENV_ARG_DECL
throw (CORBA::SystemException, ImplementationRepository::NotFound) [virtual]
 

Returns the startup information for a server.

Reimplemented from POA_ImplementationRepository::Administration.

char * ImR_Activator_i::find_ior const ACE_CString &object_name    ACE_ENV_ARG_DECL throw (CORBA::SystemException, IORTable::NotFound)
 

IOR_LookupTable_Callback method. Will return an IOR.

int ImR_Activator_i::fini ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   
 

Cleans up any state created by init ().

int ImR_Activator_i::init ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   
 

Initialize the Server state - parsing arguments and waiting.

void ImR_Activator_i::list CORBA::ULong    how_many,
ImplementationRepository::ServerInformationList_out    server_list,
ImplementationRepository::ServerInformationIterator_out server_iterator    ACE_ENV_ARG_DECL
throw (CORBA::SystemException) [virtual]
 

Used to access the list of servers registered. May also return an iterator which can be used to access more than <how_many> of them.

Reimplemented from POA_ImplementationRepository::Administration.

int ImR_Activator_i::ready_check const char *    server throw (CORBA::SystemException, ImplementationRepository::NotFound) [private]
 

This method will continuously ping a server and either return when it responds to the ping or return -1 if it times out.

void ImR_Activator_i::register_server const char *    server,
const ImplementationRepository::StartupOptions &options    ACE_ENV_ARG_DECL
throw ( CORBA::SystemException, ImplementationRepository::AlreadyRegistered ) [virtual]
 

Adds the server to the repository and registers the startup information about the server <server>.

Reimplemented from POA_ImplementationRepository::Administration.

void ImR_Activator_i::remove_server const char *server    ACE_ENV_ARG_DECL throw (CORBA::SystemException, ImplementationRepository::NotFound) [virtual]
 

Removes the server <server> from the repository.

Reimplemented from POA_ImplementationRepository::Administration.

void ImR_Activator_i::reregister_server const char *    server,
const ImplementationRepository::StartupOptions &options    ACE_ENV_ARG_DECL
throw (CORBA::SystemException) [virtual]
 

Updates the startup information about the server <server>.

Reimplemented from POA_ImplementationRepository::Administration.

int ImR_Activator_i::run ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   
 

Runs the orb.

char * ImR_Activator_i::server_is_running const char *    server,
const char *    location,
ImplementationRepository::ServerObject_ptr server_object    ACE_ENV_ARG_DECL
throw (CORBA::SystemException, ImplementationRepository::NotFound) [virtual]
 

Called by the server to update transient information such as current location of the <server> and its ServerObject.

Reimplemented from POA_ImplementationRepository::Administration.

void ImR_Activator_i::server_is_shutting_down const char *server    ACE_ENV_ARG_DECL throw (CORBA::SystemException, ImplementationRepository::NotFound) [virtual]
 

What the server should call before it shuts down.

Reimplemented from POA_ImplementationRepository::Administration.

void ImR_Activator_i::shutdown_server const char *server    ACE_ENV_ARG_DECL throw (CORBA::SystemException, ImplementationRepository::NotFound) [virtual]
 

Attempts to gracefully shut down the server,.

Reimplemented from POA_ImplementationRepository::Administration.

void ImR_Activator_i::start_server_i const char *server    ACE_ENV_ARG_DECL throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate ) [private]
 

This method starts the server process.


Friends And Related Function Documentation

friend class ImR_Forwarder [friend]
 


Member Data Documentation

int ImR_Activator_i::argc_ [private]
 

Number of command line arguments.

char** ImR_Activator_i::argv_ [private]
 

The command line arguments.

CORBA::String_var ImR_Activator_i::imr_ior_ [private]
 

Implementation Repository's IOR. Why do we store it here? Multicast doesn't work otherwise.

PortableServer::POA_var ImR_Activator_i::imr_poa_ [private]
 

Implementation Repository's POA.

TAO_IOR_Multicast* ImR_Activator_i::ior_multicast_ [private]
 

The ior_multicast event handler.

IORTable::Locator_var ImR_Activator_i::locator_ [private]
 

The locator interface for the IORTable.

ACE_Process_Manager ImR_Activator_i::process_mgr_ [private]
 

The Process Manager.

Server_Repository ImR_Activator_i::repository_ [private]
 

Repository containing information about each server.

PortableServer::POA_var ImR_Activator_i::root_poa_ [private]
 

The Root POA for this ORB.

char* ImR_Activator_i::server_input_file_ [private]
 

Copy of the filename for the server output file.

char* ImR_Activator_i::server_key_ [private]
 

Key of the obj ref of the server.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 21:34:22 2002 for TAO_Implementation_Repository by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001