#include <ImplRepo_i.h>
Inheritance diagram for ImplRepo_i
Public Methods | |
ImplRepo_i (void) | |
~ImplRepo_i (void) | |
char* | find_ior (const ACE_CString &object_name, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException, IORTable::NotFound) |
IOR_LookupTable_Callback method. Will return an IOR. | |
virtual void | activate_server ( const char *server, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) throw ( CORBA::SystemException, ImplementationRepository::Administration::NotFound, ImplementationRepository::Administration::CannotActivate ) |
Starts up the server <server> if not already running. | |
virtual void | register_server ( const char *server, const ImplementationRepository::StartupOptions &options, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) throw ( CORBA::SystemException, ImplementationRepository::Administration::AlreadyRegistered ) |
Adds the server to the repository and registers the startup information about the server <server>. | |
virtual void | reregister_server ( const char *server, const ImplementationRepository::StartupOptions &options, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException) |
Updates the startup information about the server <server>. | |
virtual void | remove_server ( const char *server, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::NotFound) |
Removes the server <server> from the repository. | |
virtual void | shutdown_server ( const char *server, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::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, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::NotFound) |
Called by the server to update transient information such as current location of the <server> and its ServerObject. | |
virtual void | server_is_shutting_down ( const char *server, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::NotFound) |
What the server should call before it shuts down. | |
virtual void | find ( const char *server, ImplementationRepository::ServerInformation_out info, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::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, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) 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. | |
int | init (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
Initialize the Server state - parsing arguments and waiting. | |
int | fini (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
Cleans up any state created by init (). | |
int | run (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
Runs the orb. | |
Private Methods | |
ACE_TString | activate_server_i ( const char *server, const int check_startup, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) throw ( CORBA::SystemException, ImplementationRepository::Administration::NotFound, ImplementationRepository::Administration::CannotActivate ) |
Implementation of activate_server. <check_startup> is a flag to check the activation mode before attempting to start it. | |
void | start_server_i ( const char *server, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) throw ( CORBA::SystemException, ImplementationRepository::Administration::NotFound, ImplementationRepository::Administration::CannotActivate ) |
This method starts the server process. | |
int | ready_check (const char *server) throw (CORBA::SystemException, ImplementationRepository::Administration::NotFound) |
This method will continuously ping a server and either return when it responds to the ping or return -1 if it times out. | |
int | setup_multicast (ACE_Reactor *reactor) |
Set up multicast handler, if multicast is enabled. More... | |
Private Attributes | |
IORTable::Locator_var | locator_ |
The locator interface for the IORTable. | |
ACE_Process_Manager | process_mgr_ |
The Process Manager. | |
ImR_Forwarder* | forwarder_impl_ |
The class that handles the forwarding. | |
ImR_Adapter_Activator* | activator_ |
Used for the forwarding of any type of POA. | |
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. | |
char* | server_key_ |
Key of the obj ref of the server. | |
char* | server_input_file_ |
Copy of the filename for the server output file. | |
TAO_IOR_Multicast* | ior_multicast_ |
The ior_multicast event handler. | |
CORBA::String_var | imr_ior_ |
Implementation Repository's IOR. Why do we store it here? Multicast doesn't work otherwise. | |
int | argc_ |
Number of command line arguments. | |
char** | argv_ |
The command line arguments. | |
Friends | |
class | ImR_Forwarder |
This provides the interface to Administer the Implementation Repository.
|
|
|
|
|
Starts up the server <server> if not already running.
|
|
Implementation of activate_server. <check_startup> is a flag to check the activation mode before attempting to start it.
|
|
Returns the startup information for a server.
|
|
IOR_LookupTable_Callback method. Will return an IOR.
|
|
Cleans up any state created by init ().
|
|
Initialize the Server state - parsing arguments and waiting.
|
|
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.
|
|
This method will continuously ping a server and either return when it responds to the ping or return -1 if it times out.
|
|
Adds the server to the repository and registers the startup information about the server <server>.
|
|
Removes the server <server> from the repository.
|
|
Updates the startup information about the server <server>.
|
|
Runs the orb.
|
|
Called by the server to update transient information such as current location of the <server> and its ServerObject.
|
|
What the server should call before it shuts down.
|
|
Set up multicast handler, if multicast is enabled. First, figure out if we should set up a multicast handler (based on command line settings) and which port to set it up (based on the environment, command line, or the default IMPLREPOSERVICE port). Then register the handler with the
|
|
Attempts to gracefully shut down the server,. Attempt to gracefully shut down the server, if that fails, will try to do it ungracefully. |
|
This method starts the server process.
|
|
|
|
Used for the forwarding of any type of POA.
|
|
Number of command line arguments.
|
|
The command line arguments.
|
|
The class that handles the forwarding.
|
|
Implementation Repository's IOR. Why do we store it here? Multicast doesn't work otherwise.
|
|
Implementation Repository's POA.
|
|
The ior_multicast event handler.
|
|
The locator interface for the IORTable.
|
|
The Process Manager.
|
|
Repository containing information about each server.
|
|
The Root POA for this ORB.
|
|
Copy of the filename for the server output file.
|
|
Key of the obj ref of the server.
|