#include <CIAO_ServerActivator_Impl.h>

Classes | |
| struct | _server_info |
| struct | Server_Info |
Public Member Functions | |
| CIAO_ServerActivator_i (CORBA::ULong def_spawn_delay, const char *default_cs_path, const char *cs_args, bool multithreaded, CIAO::Deployment::ComponentInstallation_ptr ci, CORBA::ORB_ptr orb, PortableServer::POA_ptr poa_) | |
| virtual | ~CIAO_ServerActivator_i (void) |
| virtual void | component_server_callback (::Components::Deployment::ComponentServer_ptr serverref, const char *server_UUID,::Components::ConfigValues_out config) |
| virtual void | configuration_complete (const char *server_UUID) |
| virtual ::Components::Deployment::ComponentServer_ptr | create_component_server (const ::Components::ConfigValues &config) |
| virtual void | remove_component_server (::Components::Deployment::ComponentServer_ptr server) |
| virtual ::Components::Deployment::ComponentServers * | get_component_servers (void) |
Private Types | |
| typedef ACE_Refcounted_Auto_Ptr < Server_Info, ACE_Null_Mutex > | Safe_Server_Info |
| typedef ACE_Unbounded_Set_Ex < Safe_Server_Info, _server_info > | SERVER_INFOS |
Private Member Functions | |
| ACE_CString | construct_command_line (Server_Info &si) |
| pid_t | spawn_component_server (const Server_Info &si, const ACE_CString &cmd_line) |
| void | single_threaded_wait_for_callback (const Server_Info &si, ACE_Time_Value &timeout) |
| void | multi_threaded_wait_for_callback (const Server_Info &si, ACE_Time_Value &timeout) |
| void | create_component_server_config_values (const Server_Info &info, Components::ConfigValues_out &config) |
Private Attributes | |
| ACE_CString | default_args_ |
| Default args to pass to all componentservers. | |
| SERVER_INFOS | server_infos_ |
| ACE_Process_Manager | process_manager_ |
| Child_Handler | child_handler_ |
| CORBA::ULong | spawn_delay_ |
| bool | multithreaded_ |
| CORBA::ORB_var | orb_ |
| PortableServer::POA_var | poa_ |
| ACE_CString | cs_path_ |
| ACE_CString | cs_args_ |
| TAO_SYNCH_MUTEX | mutex_ |
| ACE_Condition< TAO_SYNCH_MUTEX > | condition_ |
| CIAO::Deployment::ComponentInstallation_var | ci_ |
typedef ACE_Refcounted_Auto_Ptr<Server_Info, ACE_Null_Mutex> CIAO::Deployment::CIAO_ServerActivator_i::Safe_Server_Info [private] |
typedef ACE_Unbounded_Set_Ex<Safe_Server_Info, _server_info> CIAO::Deployment::CIAO_ServerActivator_i::SERVER_INFOS [private] |
| CIAO::Deployment::CIAO_ServerActivator_i::CIAO_ServerActivator_i | ( | CORBA::ULong | def_spawn_delay, | |
| const char * | default_cs_path, | |||
| const char * | cs_args, | |||
| bool | multithreaded, | |||
| CIAO::Deployment::ComponentInstallation_ptr | ci, | |||
| CORBA::ORB_ptr | orb, | |||
| PortableServer::POA_ptr | poa_ | |||
| ) |
| CIAO::Deployment::CIAO_ServerActivator_i::~CIAO_ServerActivator_i | ( | void | ) | [virtual] |
| void CIAO::Deployment::CIAO_ServerActivator_i::component_server_callback | ( | ::Components::Deployment::ComponentServer_ptr | serverref, | |
| const char * | server_UUID, | |||
| ::Components::ConfigValues_out | config | |||
| ) | [virtual] |
| void CIAO::Deployment::CIAO_ServerActivator_i::configuration_complete | ( | const char * | server_UUID | ) | [virtual] |
| ACE_CString CIAO::Deployment::CIAO_ServerActivator_i::construct_command_line | ( | Server_Info & | si | ) | [private] |
Builds command line options based on configuration information. May modify the uuid of the component server.
| Components::Deployment::ComponentServer_ptr CIAO::Deployment::CIAO_ServerActivator_i::create_component_server | ( | const ::Components::ConfigValues & | config | ) |
| void CIAO::Deployment::CIAO_ServerActivator_i::create_component_server_config_values | ( | const Server_Info & | info, | |
| Components::ConfigValues_out & | config | |||
| ) | [private] |
| Components::Deployment::ComponentServers * CIAO::Deployment::CIAO_ServerActivator_i::get_component_servers | ( | void | ) |
| void CIAO::Deployment::CIAO_ServerActivator_i::multi_threaded_wait_for_callback | ( | const Server_Info & | si, | |
| ACE_Time_Value & | timeout | |||
| ) | [private] |
This method is only applicable when our program is configured as multiple threaded. Internally it waits on a conditional variable that could be modified by the callback servant which runs in another thread
| void CIAO::Deployment::CIAO_ServerActivator_i::remove_component_server | ( | ::Components::Deployment::ComponentServer_ptr | server | ) | [virtual] |
| void CIAO::Deployment::CIAO_ServerActivator_i::single_threaded_wait_for_callback | ( | const Server_Info & | si, | |
| ACE_Time_Value & | timeout | |||
| ) | [private] |
This method is only applicable when our program is configured as singled threaded . Internally it uses a <perform_work> blocking call to wait for NA object to call back
| pid_t CIAO::Deployment::CIAO_ServerActivator_i::spawn_component_server | ( | const Server_Info & | si, | |
| const ACE_CString & | cmd_line | |||
| ) | [private] |
Spawns the component server process, but does not wait for it to call back.
CIAO::Deployment::ComponentInstallation_var CIAO::Deployment::CIAO_ServerActivator_i::ci_ [private] |
ACE_Condition<TAO_SYNCH_MUTEX> CIAO::Deployment::CIAO_ServerActivator_i::condition_ [private] |
Default args to pass to all componentservers.
bool CIAO::Deployment::CIAO_ServerActivator_i::multithreaded_ [private] |
TAO_SYNCH_MUTEX CIAO::Deployment::CIAO_ServerActivator_i::mutex_ [private] |
1.5.8