CIAO::NodeApplicationManager_Impl Class Reference

#include <NodeApplicationManager_Impl.h>

Inheritance diagram for CIAO::NodeApplicationManager_Impl:

Inheritance graph
[legend]
Collaboration diagram for CIAO::NodeApplicationManager_Impl:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 NodeApplicationManager_Impl (CORBA::ORB_ptr o, PortableServer::POA_ptr p, bool is_multi_threaded)
 Constructor.
virtual PortableServer::ObjectId init (const char *nodeapp_location, const char *nodeapp_options, const CORBA::ULong delay, const Deployment::DeploymentPlan &plan, const PortableServer::POA_ptr callback_poa, NodeManager_Impl_Base *nm)

Protected Member Functions

virtual ~NodeApplicationManager_Impl (void)
 Destructor.
virtual
Deployment::NodeApplication_ptr 
create_node_application (const ACE_CString &options)
 Internal help function to create new NodeApplicationProcess.
Deployment::NodeApplication_ptr single_threaded_wait_for_callback (CIAO::NodeApplication_Callback_Impl *cb_servant, ACE_Time_Value &timeout)
Deployment::NodeApplication_ptr multi_threaded_wait_for_callback (CIAO::NodeApplication_Callback_Impl *cb_servant, ACE_Time_Value &timeout)
void push_component_info (pid_t process_id)
 pushes component info to the NodeManager

Protected Attributes

NAM_Handler child_handler_
 The signal handler.

Private Attributes

bool is_multi_threaded_


Constructor & Destructor Documentation

CIAO::NodeApplicationManager_Impl::NodeApplicationManager_Impl ( CORBA::ORB_ptr  o,
PortableServer::POA_ptr  p,
bool  is_multi_threaded 
)

Constructor.

CIAO::NodeApplicationManager_Impl::~NodeApplicationManager_Impl ( void   )  [protected, virtual]

Destructor.


Member Function Documentation

PortableServer::ObjectId CIAO::NodeApplicationManager_Impl::init ( const char *  nodeapp_location,
const char *  nodeapp_options,
const CORBA::ULong  delay,
const Deployment::DeploymentPlan plan,
const PortableServer::POA_ptr  callback_poa,
NodeManager_Impl_Base nm 
) [virtual]

A factory operation to create NodeApplicationManager interface, and return the object reference. Initialize the NodeApplicationManager. The current implementation of CIAO_NodeApplicationManager can only activate CIAO's own NodeApplication processes. You should specify the location (pathname) of the NodeApplication and the delay. CIAO_NodeApplicationManager should wait (in second) for NodeApplication to call back.

Parameters:
nodeapp_location A null-termiated char * string pointing to the pathname of a NodeApplication executable.
nodeapp_options A null-terminated char * string containing command line options to be passed to the NodeApplication.
delay instructs how long (in second) a CIAO_NodeApplicationManager should wait for a newly spawned NodeApplication to pass back its IOR.
plan has all the information needed for the NodeAppManager to construct the application locally. Note, this includes the properties of the NodeApplication. For example, ORB config options etc.
callback_poa contains child poa created for the callback interface.
nm Pointer to the NodeManager_Impl servant object

Returns:
NodeApplicationManager_ptr.

Implements CIAO::NodeApplicationManager_Impl_Base.

Deployment::NodeApplication_ptr CIAO::NodeApplicationManager_Impl::create_node_application ( const ACE_CString options  )  [protected, virtual]

Internal help function to create new NodeApplicationProcess.

Implements CIAO::NodeApplicationManager_Impl_Base.

Deployment::NodeApplication_ptr CIAO::NodeApplicationManager_Impl::single_threaded_wait_for_callback ( CIAO::NodeApplication_Callback_Impl cb_servant,
ACE_Time_Value timeout 
) [protected]

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

Deployment::NodeApplication_ptr CIAO::NodeApplicationManager_Impl::multi_threaded_wait_for_callback ( CIAO::NodeApplication_Callback_Impl cb_servant,
ACE_Time_Value timeout 
) [protected]

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::NodeApplicationManager_Impl::push_component_info ( pid_t  process_id  )  [protected]

pushes component info to the NodeManager

push_component_info

Parameters:
process_id The id of the process of NodeApplication


Member Data Documentation

NAM_Handler CIAO::NodeApplicationManager_Impl::child_handler_ [protected]

The signal handler.

bool CIAO::NodeApplicationManager_Impl::is_multi_threaded_ [private]

Whether we run ourselves in multi threaded configuration or not By default, we run in single threaded configuration.


The documentation for this class was generated from the following files:
Generated on Thu Feb 21 04:20:44 2008 for DAnCE by  doxygen 1.5.3-6