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

# ImplRepo_i Class Reference

Implementation Repository. More...

`#include <ImplRepo_i.h>`

Inheritance diagram for ImplRepo_i

[legend]
Collaboration diagram for ImplRepo_i:

[legend]
List of all members.

## 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

## Detailed Description

Implementation Repository.

This provides the interface to Administer the Implementation Repository.

## Constructor & Destructor Documentation

ImplRepo_i::ImplRepo_i ( | void )

ImplRepo_i::~ImplRepo_i ( | void )

## Member Function Documentation

void ImplRepo_i::activate_server ( | const char * server,
| CORBA::Environment & ACE_TRY_ENV = TAO_default_environment () ) throw ( CORBA::SystemException, ImplementationRepository::Administration::NotFound, ImplementationRepository::Administration::CannotActivate )`[virtual]`

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

ACE_TString ImplRepo_i::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 )`[private]`

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

void ImplRepo_i::find ( | const char * server,
| ImplementationRepository::ServerInformation_out info,
| CORBA::Environment & ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::NotFound)`[virtual]`

| Returns the startup information for a server.

char * ImplRepo_i::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.

int ImplRepo_i::fini ( | CORBA_Environment & ACE_TRY_ENV = TAO_default_environment () )

| Cleans up any state created by init ().

int ImplRepo_i::init ( | CORBA_Environment & ACE_TRY_ENV = TAO_default_environment () )

| Initialize the Server state - parsing arguments and waiting.

void ImplRepo_i::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)`[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.

int ImplRepo_i::ready_check ( | const char * server ) throw (CORBA::SystemException, ImplementationRepository::Administration::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 ImplRepo_i::register_server ( | const char * server,
| const ImplementationRepository::StartupOptions & options,
| CORBA_Environment & ACE_TRY_ENV = TAO_default_environment () ) throw ( CORBA::SystemException, ImplementationRepository::Administration::AlreadyRegistered )`[virtual]`

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

void ImplRepo_i::remove_server ( | const char * server,
| CORBA_Environment & ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::NotFound)`[virtual]`

| Removes the server <server> from the repository.

void ImplRepo_i::reregister_server ( | const char * server,
| const ImplementationRepository::StartupOptions & options,
| CORBA_Environment & ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException)`[virtual]`

| Updates the startup information about the server <server>.

int ImplRepo_i::run ( | CORBA_Environment & ACE_TRY_ENV = TAO_default_environment () )

| Runs the orb.

char * ImplRepo_i::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)`[virtual]`

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

void ImplRepo_i::server_is_shutting_down ( | const char * server,
| CORBA_Environment & ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::NotFound)`[virtual]`

| What the server should call before it shuts down.

int ImplRepo_i::setup_multicast ( | ACE_Reactor * reactor )`[private]`

  | 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 Parameters:
  reactor. |
  Return values:
  0 | ok
  -1 | failed

void ImplRepo_i::shutdown_server ( | const char * server,
| CORBA::Environment & ACE_TRY_ENV = TAO_default_environment () ) throw (CORBA::SystemException, ImplementationRepository::Administration::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.

void ImplRepo_i::start_server_i ( | const char * server,
| CORBA::Environment & ACE_TRY_ENV = TAO_default_environment () ) throw ( CORBA::SystemException, ImplementationRepository::Administration::NotFound, ImplementationRepository::Administration::CannotActivate )`[private]`

| This method starts the server process.

## Friends And Related Function Documentation

class ImR_Forwarder`[friend]`

## Member Data Documentation

ImR_Adapter_Activator * ImplRepo_i::activator_`[private]`

| Used for the forwarding of any type of POA.

int ImplRepo_i::argc_`[private]`

| Number of command line arguments.

char ** ImplRepo_i::argv_`[private]`

| The command line arguments.

ImR_Forwarder * ImplRepo_i::forwarder_impl_`[private]`

| The class that handles the forwarding.

CORBA::String_var ImplRepo_i::imr_ior_`[private]`

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

PortableServer::POA_var ImplRepo_i::imr_poa_`[private]`

| Implementation Repository's POA.

TAO_IOR_Multicast * ImplRepo_i::ior_multicast_`[private]`

| The ior_multicast event handler.

IORTable::Locator_var ImplRepo_i::locator_`[private]`

| The locator interface for the IORTable.

ACE_Process_Manager ImplRepo_i::process_mgr_`[private]`

| The Process Manager.

Server_Repository ImplRepo_i::repository_`[private]`

| Repository containing information about each server.

PortableServer::POA_var ImplRepo_i::root_poa_`[private]`

| The Root POA for this ORB.

char * ImplRepo_i::server_input_file_`[private]`

| Copy of the filename for the server output file.

char * ImplRepo_i::server_key_`[private]`

| Key of the obj ref of the server.

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

- ImplRepo_i.h
- ImplRepo_i.cpp