TAO_Implementation_Repository  2.3.3
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
ImR_Locator_i Class Reference

#include <ImR_Locator_i.h>

Inheritance diagram for ImR_Locator_i:
Inheritance graph
[legend]
Collaboration diagram for ImR_Locator_i:
Collaboration graph
[legend]

Classes

class  Shutdown_Handler
 

Public Member Functions

 ImR_Locator_i ()
 
 ~ImR_Locator_i (void)
 
int init (Options &opts)
 Initialize the service, creating its own orb, poa, etc. More...
 
int init_with_orb (CORBA::ORB_ptr orb)
 Same as above, but use the given orb. More...
 
int fini (void)
 Cleans up any state created by init*. More...
 
int run (void)
 Run using the orb reference created during init() More...
 
void signal_shutdown (void)
 Called by the signal handler to notify of shutdown request. More...
 
void shutdown (bool wait_for_completion)
 Shutdown the orb. More...
 
const Optionsopts (void) const
 Access the options. More...
 
virtual void register_activator (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, ImplementationRepository::Activator_ptr admin)
 
virtual void unregister_activator (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, CORBA::Long token)
 
virtual void notify_child_death (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name)
 
virtual void child_death_pid (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, CORBA::Long pid)
 
virtual void spawn_pid (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, CORBA::Long pid)
 
virtual void activate_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void add_or_update_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name, const ImplementationRepository::StartupOptions &options)
 
virtual void link_servers (ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr _tao_rh, const char *name, const CORBA::StringSeq &peers)
 
virtual void kill_server (ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr _tao_rh, const char *name, CORBA::Short signum)
 
virtual void remove_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void shutdown_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void find (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void list (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, CORBA::ULong how_many, CORBA::Boolean determine_active_status)
 
virtual void shutdown (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, CORBA::Boolean activators, CORBA::Boolean servers)
 
virtual void server_is_running (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name, const char *partial_ior, ImplementationRepository::ServerObject_ptr server_object)
 
virtual void server_is_shutting_down (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
char * activate_server_by_object (const char *object_name)
 
char * activate_server_by_name (const char *name, bool manual_start)
 
void activate_server_by_info (const Server_Info_Ptr &si, ImR_ResponseHandler *rh)
 
void activate_server_by_name (const char *name, bool manual_start, ImR_ResponseHandler *rh)
 
bool split_key (ACE_CString &full, ACE_CString &key, Server_Info_Ptr &si)
 
LiveCheckpinger (void)
 
PortableServer::POA_ptr root_poa (void)
 
Activator_Info_Ptr get_activator (const ACE_CString &name)
 
void remove_aam (AsyncAccessManager_ptr &aam)
 
void remove_aam (const char *name)
 
AsyncAccessManagerfind_aam (const char *name)
 
AsyncAccessManagercreate_aam (UpdateableServerInfo &info, bool running=false)
 
void remote_access_update (const char *name, ImplementationRepository::AAM_Status state)
 Receiving an update from remote peer. More...
 
CORBA::Object_ptr set_timeout_policy (CORBA::Object_ptr obj, const ACE_Time_Value &to)
 

Static Public Member Functions

static int debug (void)
 

Private Types

typedef ACE_Unbounded_Set< AsyncAccessManager_ptrAAM_Set
 A collection of asynch activator instances. More...
 

Private Member Functions

bool get_info_for_name (const char *name, Server_Info_Ptr &si)
 
void activate_server_i (UpdateableServerInfo &info, bool manual_start, ImR_ResponseHandler *rh)
 
bool server_is_alive (UpdateableServerInfo &info)
 
void unregister_activator_i (const char *activator)
 
void connect_activator (Activator_Info &info)
 
void auto_start_servers (void)
 
void connect_server (UpdateableServerInfo &info)
 
PortableServer::POA_ptr findPOA (const char *name)
 

Private Attributes

ImR_DSI_Forwarder dsi_forwarder_
 
ImR_Adapter adapter_
 
IORTable::Locator_var ins_locator_
 The locator interface for the IORTable. More...
 
LiveCheck pinger_
 The asynch server ping adapter. More...
 
AAM_Set aam_set_
 
CORBA::ORB_var orb_
 
PortableServer::POA_var root_poa_
 
PortableServer::POA_var imr_poa_
 
Repository_Ptr repository_
 
Optionsopts_
 
TAO_SYNCH_MUTEX lock_
 
ImR_Locator_i::Shutdown_Handler shutdown_handler_
 

Static Private Attributes

static int debug_ = 0
 

Detailed Description

Gets a request from a client and depending on the POA name, requests an activator to take care of activating the corresponding server and raises a forward exception to the client pointing to the correct server.

Member Typedef Documentation

A collection of asynch activator instances.

Constructor & Destructor Documentation

ImR_Locator_i::ImR_Locator_i ( void  )
ImR_Locator_i::~ImR_Locator_i ( void  )

Member Function Documentation

void ImR_Locator_i::activate_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual
void ImR_Locator_i::activate_server_by_info ( const Server_Info_Ptr si,
ImR_ResponseHandler rh 
)
char * ImR_Locator_i::activate_server_by_name ( const char *  name,
bool  manual_start 
)
void ImR_Locator_i::activate_server_by_name ( const char *  name,
bool  manual_start,
ImR_ResponseHandler rh 
)
char * ImR_Locator_i::activate_server_by_object ( const char *  object_name)
void ImR_Locator_i::activate_server_i ( UpdateableServerInfo info,
bool  manual_start,
ImR_ResponseHandler rh 
)
private
void ImR_Locator_i::add_or_update_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name,
const ImplementationRepository::StartupOptions &  options 
)
virtual
void ImR_Locator_i::auto_start_servers ( void  )
private
void ImR_Locator_i::child_death_pid ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Long  pid 
)
virtual
void ImR_Locator_i::connect_activator ( Activator_Info info)
private
void ImR_Locator_i::connect_server ( UpdateableServerInfo info)
private
AsyncAccessManager * ImR_Locator_i::create_aam ( UpdateableServerInfo info,
bool  running = false 
)
int ImR_Locator_i::debug ( void  )
static
void ImR_Locator_i::find ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual
AsyncAccessManager * ImR_Locator_i::find_aam ( const char *  name)
PortableServer::POA_ptr ImR_Locator_i::findPOA ( const char *  name)
private
int ImR_Locator_i::fini ( void  )

Cleans up any state created by init*.

Activator_Info_Ptr ImR_Locator_i::get_activator ( const ACE_CString name)
bool ImR_Locator_i::get_info_for_name ( const char *  name,
Server_Info_Ptr si 
)
private
int ImR_Locator_i::init ( Options opts)

Initialize the service, creating its own orb, poa, etc.

int ImR_Locator_i::init_with_orb ( CORBA::ORB_ptr  orb)

Same as above, but use the given orb.

void ImR_Locator_i::kill_server ( ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Short  signum 
)
virtual
void ImR_Locator_i::link_servers ( ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr  _tao_rh,
const char *  name,
const CORBA::StringSeq peers 
)
virtual
void ImR_Locator_i::list ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
CORBA::ULong  how_many,
CORBA::Boolean  determine_active_status 
)
virtual
void ImR_Locator_i::notify_child_death ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual
const Options * ImR_Locator_i::opts ( void  ) const

Access the options.

LiveCheck & ImR_Locator_i::pinger ( void  )
void ImR_Locator_i::register_activator ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
ImplementationRepository::Activator_ptr  admin 
)
virtual
void ImR_Locator_i::remote_access_update ( const char *  name,
ImplementationRepository::AAM_Status  state 
)

Receiving an update from remote peer.

void ImR_Locator_i::remove_aam ( AsyncAccessManager_ptr aam)
void ImR_Locator_i::remove_aam ( const char *  name)
void ImR_Locator_i::remove_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual
PortableServer::POA_ptr ImR_Locator_i::root_poa ( void  )
int ImR_Locator_i::run ( void  )

Run using the orb reference created during init()

bool ImR_Locator_i::server_is_alive ( UpdateableServerInfo info)
private
void ImR_Locator_i::server_is_running ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name,
const char *  partial_ior,
ImplementationRepository::ServerObject_ptr  server_object 
)
virtual
void ImR_Locator_i::server_is_shutting_down ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual
CORBA::Object_ptr ImR_Locator_i::set_timeout_policy ( CORBA::Object_ptr  obj,
const ACE_Time_Value to 
)
void ImR_Locator_i::shutdown ( bool  wait_for_completion)

Shutdown the orb.

void ImR_Locator_i::shutdown ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
CORBA::Boolean  activators,
CORBA::Boolean  servers 
)
virtual
void ImR_Locator_i::shutdown_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual
void ImR_Locator_i::signal_shutdown ( void  )

Called by the signal handler to notify of shutdown request.

void ImR_Locator_i::spawn_pid ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Long  pid 
)
virtual
bool ImR_Locator_i::split_key ( ACE_CString full,
ACE_CString key,
Server_Info_Ptr si 
)
void ImR_Locator_i::unregister_activator ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Long  token 
)
virtual
void ImR_Locator_i::unregister_activator_i ( const char *  activator)
private

Member Data Documentation

AAM_Set ImR_Locator_i::aam_set_
private
ImR_Adapter ImR_Locator_i::adapter_
private
int ImR_Locator_i::debug_ = 0
staticprivate
ImR_DSI_Forwarder ImR_Locator_i::dsi_forwarder_
private
PortableServer::POA_var ImR_Locator_i::imr_poa_
private
IORTable::Locator_var ImR_Locator_i::ins_locator_
private

The locator interface for the IORTable.

TAO_SYNCH_MUTEX ImR_Locator_i::lock_
private
Options* ImR_Locator_i::opts_
private
CORBA::ORB_var ImR_Locator_i::orb_
private
LiveCheck ImR_Locator_i::pinger_
private

The asynch server ping adapter.

Repository_Ptr ImR_Locator_i::repository_
private
PortableServer::POA_var ImR_Locator_i::root_poa_
private
ImR_Locator_i::Shutdown_Handler ImR_Locator_i::shutdown_handler_
private

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