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 char *object_name ACE_ENV_ARG_DECL) throw (CORBA::SystemException, ImplementationRepository::NotFound)
 IOR_LookupTable_Callback method. Will return an IOR.

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.

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

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.

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

virtual void server_is_running (const char *server, const char *partial_ior, ImplementationRepository::ServerObject_ptr server_object ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, ImplementationRepository::NotFound)
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.

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.

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)
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 )
int init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
 Initialize the Server state - parsing arguments and waiting.

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

int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
 Runs the orb.


Private Methods

char * activate_server_i (const char *server, int check_startup ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate )
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.

int ready_check (const char *server) throw (CORBA::SystemException, ImplementationRepository::NotFound)

Private Attributes

ACE_Process_Manager process_mgr_
 The Process Manager.

Server_Repository repository_
 Repository containing information about each server.

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

PortableServer::POA_var imr_poa_
 Implementation Repository's POA.

CORBA::Long registration_token_
ACE_CString name_

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_WITH_DEFAULTS throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate ) [virtual]
 

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

Implements POA_ImplementationRepository::Administration.

char * ImR_Activator_i::activate_server_i const char *    server,
int check_startup    ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw ( CORBA::SystemException, ImplementationRepository::NotFound, ImplementationRepository::CannotActivate ) [private]
 

char * ImR_Activator_i::activate_server_with_startup const char *    server,
int check_startup    ACE_ENV_ARG_DECL_WITH_DEFAULTS
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_WITH_DEFAULTS
throw (CORBA::SystemException, ImplementationRepository::NotFound) [virtual]
 

Returns the startup information for a server.

Implements POA_ImplementationRepository::Administration.

char* ImR_Activator_i::find_ior const char *object_name    ACE_ENV_ARG_DECL throw (CORBA::SystemException, ImplementationRepository::NotFound) [virtual]
 

IOR_LookupTable_Callback method. Will return an IOR.

Implements POA_ImplementationRepository::Administration.

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

Implements 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_WITH_DEFAULTS
throw ( CORBA::SystemException, ImplementationRepository::AlreadyRegistered, ImplementationRepository::NotFound ) [virtual]
 

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

Implements POA_ImplementationRepository::Administration.

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

Removes the server <server> from the repository.

Implements POA_ImplementationRepository::Administration.

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

Updates the startup information about the server <server>.

Implements POA_ImplementationRepository::Administration.

int ImR_Activator_i::run ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS   
 

Runs the orb.

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

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

Implements POA_ImplementationRepository::Administration.

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

What the server should call before it shuts down.

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

Attempt to gracefully shut down the server, if that fails, will try to do it ungracefully.

Implements POA_ImplementationRepository::Administration.

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

This method starts the server process.


Member Data Documentation

PortableServer::POA_var ImR_Activator_i::imr_poa_ [private]
 

Implementation Repository's POA.

ACE_CString ImR_Activator_i::name_ [private]
 

ACE_Process_Manager ImR_Activator_i::process_mgr_ [private]
 

The Process Manager.

CORBA::Long ImR_Activator_i::registration_token_ [private]
 

We're given a token when registering with the locator, which we must use when unregistering.

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.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 18:50:17 2004 for TAO_Implementation_Repository by doxygen1.2.18