TAO_Implementation_Repository  2.0.8
Public Member Functions | Private Member Functions | Private Attributes
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]

List of all members.

Public Member Functions

 ImR_Locator_i ()
 ~ImR_Locator_i (void)
int init (Options &opts)
 Initialize the service, creating its own orb, poa, etc.
int init_with_orb (CORBA::ORB_ptr orb, Options &opts)
 Same as above, but use the given orb.
int fini (void)
 Cleans up any state created by init*.
int run (void)
 Run using the orb reference created during init()
void shutdown (bool wait_for_completion)
 Shutdown the orb.
int debug () const
virtual CORBA::Long register_activator (const char *name, ImplementationRepository::Activator_ptr admin)
virtual void unregister_activator (const char *name, CORBA::Long token)
virtual void notify_child_death (const char *name)
virtual void activate_server (const char *name)
virtual void add_or_update_server (const char *name, const ImplementationRepository::StartupOptions &options)
virtual void remove_server (const char *name)
virtual void shutdown_server (const char *name)
virtual void find (const char *name, ImplementationRepository::ServerInformation_out info)
virtual void list (CORBA::ULong how_many, ImplementationRepository::ServerInformationList_out server_list, ImplementationRepository::ServerInformationIterator_out server_iterator)
virtual void shutdown (CORBA::Boolean activators, CORBA::Boolean servers)
virtual void server_is_running (const char *name, const char *partial_ior, ImplementationRepository::ServerObject_ptr server_object)
virtual void server_is_shutting_down (const char *name)
char * activate_server_by_object (const char *object_name)
char * activate_server_by_name (const char *name, bool manual_start)

Private Member Functions

char * activate_server_i (Server_Info &info, bool manual_start)
char * activate_perclient_server_i (Server_Info info, bool manual_start)
ImplementationRepository::StartupInfostart_server (Server_Info &info, bool manual_start, int &waiting_clients)
bool is_alive (Server_Info &info)
int is_alive_i (Server_Info &info)
int setup_multicast (ACE_Reactor *reactor, const char *ior)
void teardown_multicast ()
void unregister_activator_i (const char *activator)
Activator_Info_Ptr get_activator (const ACE_CString &name)
void connect_activator (Activator_Info &info)
void auto_start_servers (void)
CORBA::Object_ptr set_timeout_policy (CORBA::Object_ptr obj, const ACE_Time_Value &to)
void connect_server (Server_Info &info)
PortableServer::POA_ptr findPOA (const char *name)

Private Attributes

ImR_Forwarder forwarder_
ImR_Adapter adapter_
IORTable::Locator_var ins_locator_
 The locator interface for the IORTable.
CORBA::ORB_var orb_
PortableServer::POA_var root_poa_
PortableServer::POA_var imr_poa_
int debug_
TAO_IOR_Multicast ior_multicast_
Locator_Repository repository_
AsyncStartupWaiter_i waiter_svt_
ImplementationRepository::AsyncStartupWaiter_var waiter_
bool read_only_
ACE_Time_Value startup_timeout_
ACE_Time_Value ping_interval_
bool unregister_if_address_reused_

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.


Constructor & Destructor Documentation

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

Member Function Documentation

char * ImR_Locator_i::activate_perclient_server_i ( Server_Info  info,
bool  manual_start 
) [private]
void ImR_Locator_i::activate_server ( const char *  name) [virtual]
char * ImR_Locator_i::activate_server_by_name ( const char *  name,
bool  manual_start 
)
char * ImR_Locator_i::activate_server_by_object ( const char *  object_name)
char * ImR_Locator_i::activate_server_i ( Server_Info info,
bool  manual_start 
) [private]
void ImR_Locator_i::add_or_update_server ( const char *  name,
const ImplementationRepository::StartupOptions &  options 
) [virtual]
void ImR_Locator_i::auto_start_servers ( void  ) [private]
void ImR_Locator_i::connect_activator ( Activator_Info info) [private]
void ImR_Locator_i::connect_server ( Server_Info info) [private]
int ImR_Locator_i::debug ( ) const
void ImR_Locator_i::find ( const char *  name,
ImplementationRepository::ServerInformation_out  info 
) [virtual]
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) [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,
Options opts 
)

Same as above, but use the given orb.

bool ImR_Locator_i::is_alive ( Server_Info info) [private]
int ImR_Locator_i::is_alive_i ( Server_Info info) [private]
void ImR_Locator_i::list ( CORBA::ULong  how_many,
ImplementationRepository::ServerInformationList_out  server_list,
ImplementationRepository::ServerInformationIterator_out  server_iterator 
) [virtual]
void ImR_Locator_i::notify_child_death ( const char *  name) [virtual]
CORBA::Long ImR_Locator_i::register_activator ( const char *  name,
ImplementationRepository::Activator_ptr  admin 
) [virtual]
void ImR_Locator_i::remove_server ( const char *  name) [virtual]
int ImR_Locator_i::run ( void  )

Run using the orb reference created during init()

void ImR_Locator_i::server_is_running ( const char *  name,
const char *  partial_ior,
ImplementationRepository::ServerObject_ptr  server_object 
) [virtual]
void ImR_Locator_i::server_is_shutting_down ( const char *  name) [virtual]
CORBA::Object_ptr ImR_Locator_i::set_timeout_policy ( CORBA::Object_ptr  obj,
const ACE_Time_Value to 
) [private]
int ImR_Locator_i::setup_multicast ( ACE_Reactor reactor,
const char *  ior 
) [private]
void ImR_Locator_i::shutdown ( bool  wait_for_completion)

Shutdown the orb.

void ImR_Locator_i::shutdown ( CORBA::Boolean  activators,
CORBA::Boolean  servers 
) [virtual]
void ImR_Locator_i::shutdown_server ( const char *  name) [virtual]
ImplementationRepository::StartupInfo * ImR_Locator_i::start_server ( Server_Info info,
bool  manual_start,
int &  waiting_clients 
) [private]
void ImR_Locator_i::teardown_multicast ( ) [private]
void ImR_Locator_i::unregister_activator ( const char *  name,
CORBA::Long  token 
) [virtual]
void ImR_Locator_i::unregister_activator_i ( const char *  activator) [private]

Member Data Documentation

int ImR_Locator_i::debug_ [private]

The locator interface for the IORTable.

TAO_IOR_Multicast ImR_Locator_i::ior_multicast_ [private]
bool ImR_Locator_i::read_only_ [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines