Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# CIAO::NodeApplicationManager_Impl_Base Class Reference

`#include <NodeApplicationManager_Impl.h>`

Inheritance diagram for CIAO::NodeApplicationManager_Impl_Base:

[legend]
Collaboration diagram for CIAO::NodeApplicationManager_Impl_Base:

[legend]
List of all members.

## Public Member Functions
| NodeApplicationManager_Impl_Base (CORBA::ORB_ptr o, PortableServer::POA_ptr p)
| Constructor.
virtual Deployment::Application_ptr | startLaunch (const Deployment::Properties &configProperty, Deployment::Connections_out providedReference, CORBA::Boolean start ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, Deployment::ResourceNotAvailable, Deployment::StartError, Deployment::InvalidProperty)
virtual void | destroyApplication (Deployment::Application_ptr ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, Deployment::StopError)
virtual Deployment::Application_ptr | perform_redeployment (const Deployment::Properties &configProperty, Deployment::Connections_out providedReference, CORBA::Boolean add_or_remove, CORBA::Boolean start ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (::CORBA::SystemException, ::Deployment::PlanError, ::Deployment::InstallationFailure, ::Deployment::UnknownImplId, ::Deployment::ImplEntryPointNotFound, ::Deployment::InvalidConnection, ::Deployment::InvalidProperty, ::Components::RemoveFailure)
virtual void | reset_plan (const ::Deployment::DeploymentPlan &plan ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (::CORBA::SystemException)
virtual void | set_shared_components (const Deployment::ComponentPlans &shared ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (::CORBA::SystemException)
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 ACE_ENV_ARG_DECL_WITH_DEFAULTS)=0 throw (CORBA::SystemException, Deployment::InvalidProperty)
Deployment::NodeApplicationManager_ptr | get_nodeapp_manager (void)
| This method doesn't do duplicate.
## Protected Types
typedef ACE_Hash_Map_Manager_Ex< ACE_CString, Components::CCMObject_var, ACE_Hash< ACE_CString >, ACE_Equal_To< ACE_CString >, ACE_Null_Mutex > | CCMComponent_Map
| A map of the component created on this node.
typedef CCMComponent_Map::iterator | Component_Iterator
## Protected Member Functions
virtual | ~NodeApplicationManager_Impl_Base (void)
| Destructor.
virtual void | add_new_components (void) throw (CORBA::SystemException, ::Deployment::PlanError, ::Deployment::InstallationFailure, ::Deployment::UnknownImplId, ::Deployment::ImplEntryPointNotFound, ::Deployment::InvalidConnection, ::Deployment::InvalidProperty)
| Add new components.
virtual void | remove_existing_components (void) throw (CORBA::SystemException, ::Deployment::PlanError, ::Components::RemoveFailure)
| Remove existing components.
virtual bool | is_to_be_removed (const char *name)
virtual Deployment::NodeApplication_ptr | create_node_application (const ACE_CString &options ACE_ENV_ARG_DECL_WITH_DEFAULTS)=0 throw (CORBA::SystemException, Deployment::ResourceNotAvailable, Deployment::StartError, Deployment::InvalidProperty)
| Internal help function to create new NodeApplicationProcess.
virtual Deployment::Connections * | create_connections (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, Deployment::ResourceNotAvailable, Deployment::StartError, Deployment::InvalidProperty)
| Helper function to get the connection.
void | parse_config_value (ACE_CString &str ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, Deployment::InvalidProperty)
bool | is_shared_component (ACE_CString &name)
bool | is_external_component (ACE_CString &name)
## Protected Attributes
ACE_CString | nodeapp_path_
| location of the Nodeapplication
CORBA::ORB_var | orb_
| Keep a pointer to the managing ORB serving this servant.
PortableServer::POA_var | poa_
| Keep a pointer to the managing POA.
NodeManager_Impl_Base * | node_manager_
Deployment::NodeApplicationManager_var | objref_
| ObjectRef of ourself which will be needed by the callback.
PortableServer::POA_var | callback_poa_
| Child poa that uses active object map.
Deployment::NodeApplication_var | nodeapp_
Deployment::DeploymentPlan | plan_
CORBA::ULong | spawn_delay_
CORBA::String_var | nodeapp_command_op_
| Extracted commandline options to pass to the NodeApplication.
Deployment::ComponentPlans | shared_components_
| A list of components shared across deployment plans.
Deployment::ComponentPlans | external_components_
| A list of components that are "external" to this plan.
CCMComponent_Map | component_map_
TAO_SYNCH_MUTEX | lock_
| Synchronize access to the object set.

## Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Components::CCMObject_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeApplicationManager_Impl_Base::CCMComponent_Map`[protected]`

| A map of the component created on this node.

typedef CCMComponent_Map::iterator CIAO::NodeApplicationManager_Impl_Base::Component_Iterator`[protected]`

## Constructor & Destructor Documentation

ACE_INLINE CIAO::NodeApplicationManager_Impl_Base::NodeApplicationManager_Impl_Base | ( | CORBA::ORB_ptr | o,
|  | PortableServer::POA_ptr | p
| ) |

| Constructor.

ACE_INLINE CIAO::NodeApplicationManager_Impl_Base::~NodeApplicationManager_Impl_Base | ( | void |  | ) | `[protected, virtual]`

| Destructor.

## Member Function Documentation

void CIAO::NodeApplicationManager_Impl_Base::add_new_components | ( | void |  | ) | throw (CORBA::SystemException, ::Deployment::PlanError, ::Deployment::InstallationFailure, ::Deployment::UnknownImplId, ::Deployment::ImplEntryPointNotFound, ::Deployment::InvalidConnection, ::Deployment::InvalidProperty)`[protected, virtual]`

| Add new components.

Deployment::Connections * CIAO::NodeApplicationManager_Impl_Base::create_connections | ( | ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS |  | ) | throw (CORBA::SystemException, Deployment::ResourceNotAvailable, Deployment::StartError, Deployment::InvalidProperty)`[protected, virtual]`

| Helper function to get the connection.

virtual Deployment::NodeApplication_ptr CIAO::NodeApplicationManager_Impl_Base::create_node_application | ( | const ACE_CString &options | ACE_ENV_ARG_DECL_WITH_DEFAULTS | ) | throw (CORBA::SystemException, Deployment::ResourceNotAvailable, Deployment::StartError, Deployment::InvalidProperty)`[protected, pure virtual]`

| Internal help function to create new NodeApplicationProcess. Implemented in CIAO::NodeApplicationManager_Impl, and CIAO::Static_NodeApplicationManager_Impl.

virtual void CIAO::NodeApplicationManager_Impl_Base::destroyApplication | ( | Deployment::Application_ptr | ACE_ENV_ARG_DECL_WITH_DEFAULTS | ) | throw (CORBA::SystemException, Deployment::StopError)`[virtual]`

ACE_INLINE Deployment::NodeApplicationManager_ptr CIAO::NodeApplicationManager_Impl_Base::get_nodeapp_manager | ( | void |  | ) |

| This method doesn't do duplicate.

virtual PortableServer::ObjectId CIAO::NodeApplicationManager_Impl_Base::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 | ACE_ENV_ARG_DECL_WITH_DEFAULTS
| ) | throw (CORBA::SystemException, Deployment::InvalidProperty)`[pure 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. Implemented in CIAO::NodeApplicationManager_Impl, and CIAO::Static_NodeApplicationManager_Impl.

bool CIAO::NodeApplicationManager_Impl_Base::is_external_component | ( | ACE_CString & | name | ) | `[protected]`

| Helper function to check wheather a component instance is in the "shared components list".

bool CIAO::NodeApplicationManager_Impl_Base::is_shared_component | ( | ACE_CString & | name | ) | `[protected]`

| Helper function to check wheather a component instance is in the "shared components list".

bool CIAO::NodeApplicationManager_Impl_Base::is_to_be_removed | ( | const char * | name | ) | `[protected, virtual]`

| Determine whether a component is absent in the new_plan Return true if absent

ACE_INLINE void CIAO::NodeApplicationManager_Impl_Base::parse_config_value | ( | ACE_CString &str | ACE_ENV_ARG_DECL_WITH_DEFAULTS | ) | throw (CORBA::SystemException, Deployment::InvalidProperty)`[protected]`

| Find the configurations in the plan and prepare them to pass to the NodeApplication, from command line probably.

Deployment::Application_ptr CIAO::NodeApplicationManager_Impl_Base::perform_redeployment | ( | const Deployment::Properties & | configProperty,
|  | Deployment::Connections_out | providedReference,
|  | CORBA::Boolean | add_or_remove,
|  | CORBA::Boolean start | ACE_ENV_ARG_DECL_WITH_DEFAULTS
| ) | throw (::CORBA::SystemException, ::Deployment::PlanError, ::Deployment::InstallationFailure, ::Deployment::UnknownImplId, ::Deployment::ImplEntryPointNotFound, ::Deployment::InvalidConnection, ::Deployment::InvalidProperty, ::Components::RemoveFailure)`[virtual]`

void CIAO::NodeApplicationManager_Impl_Base::remove_existing_components | ( | void |  | ) | throw (CORBA::SystemException, ::Deployment::PlanError, ::Components::RemoveFailure)`[protected, virtual]`

| Remove existing components.

ACE_INLINE void CIAO::NodeApplicationManager_Impl_Base::reset_plan | ( | const ::Deployment::DeploymentPlan &plan | ACE_ENV_ARG_DECL_WITH_DEFAULTS | ) | throw (::CORBA::SystemException)`[virtual]`

void CIAO::NodeApplicationManager_Impl_Base::set_shared_components | ( | const Deployment::ComponentPlans &shared | ACE_ENV_ARG_DECL_WITH_DEFAULTS | ) | throw (::CORBA::SystemException)`[virtual]`

Deployment::Application_ptr CIAO::NodeApplicationManager_Impl_Base::startLaunch | ( | const Deployment::Properties & | configProperty,
|  | Deployment::Connections_out | providedReference,
|  | CORBA::Boolean start | ACE_ENV_ARG_DECL_WITH_DEFAULTS
| ) | throw (CORBA::SystemException, Deployment::ResourceNotAvailable, Deployment::StartError, Deployment::InvalidProperty)`[virtual]`

| The return type is NodeApplication_ptr actually. For "external/shared" components of this child plan, they are not actaully installed, however, the object references of the ports of these external components are returned through <providedreference>.

## Member Data Documentation

PortableServer::POA_var CIAO::NodeApplicationManager_Impl_Base::callback_poa_`[protected]`

| Child poa that uses active object map.

CCMComponent_Map CIAO::NodeApplicationManager_Impl_Base::component_map_`[protected]`

Deployment::ComponentPlans CIAO::NodeApplicationManager_Impl_Base::external_components_`[protected]`

| A list of components that are "external" to this plan.

TAO_SYNCH_MUTEX CIAO::NodeApplicationManager_Impl_Base::lock_`[protected]`

| Synchronize access to the object set.

NodeManager_Impl_Base* CIAO::NodeApplicationManager_Impl_Base::node_manager_`[protected]`

| Pointer to the NodeManager_Impl servant object We could do this because NodeManager and NodeApplicationManager are always collocated in the same process, so we don't have to pass CORBA object reference back and forth.

Deployment::NodeApplication_var CIAO::NodeApplicationManager_Impl_Base::nodeapp_`[protected]`

| Cache a object reference of the underlying NodeApplication Since I have decided to have only 1 NA in NAM so no map is needed.

CORBA::String_var CIAO::NodeApplicationManager_Impl_Base::nodeapp_command_op_`[protected]`

| Extracted commandline options to pass to the NodeApplication.

ACE_CString CIAO::NodeApplicationManager_Impl_Base::nodeapp_path_`[protected]`

| location of the Nodeapplication

Deployment::NodeApplicationManager_var CIAO::NodeApplicationManager_Impl_Base::objref_`[protected]`

| ObjectRef of ourself which will be needed by the callback.

CORBA::ORB_var CIAO::NodeApplicationManager_Impl_Base::orb_`[protected]`

| Keep a pointer to the managing ORB serving this servant.

Deployment::DeploymentPlan CIAO::NodeApplicationManager_Impl_Base::plan_`[protected]`

| Cached plan (This should be the part of the whole plan local to this node) The plan will be initialized when init is called.

PortableServer::POA_var CIAO::NodeApplicationManager_Impl_Base::poa_`[protected]`

| Keep a pointer to the managing POA.

Deployment::ComponentPlans CIAO::NodeApplicationManager_Impl_Base::shared_components_`[protected]`

| A list of components shared across deployment plans.

CORBA::ULong CIAO::NodeApplicationManager_Impl_Base::spawn_delay_`[protected]`

| Specify the time in second NodeApplicationManager will wait for a child NodeApplication to callback. Default is 5 second.

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

- NodeApplicationManager_Impl.h
- NodeApplicationManager_Impl.cpp
- NodeApplicationManager_Impl.inl