CIAO::NodeManager_Impl_Base Class Reference

#include <NodeManager_Impl.h>

Inheritance diagram for CIAO::NodeManager_Impl_Base:

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

Collaboration graph
[legend]

List of all members.

Public Types

typedef struct
CIAO::NodeManager_Impl_Base::_ref_count_info 
Ref_Count_Info

Public Member Functions

 NodeManager_Impl_Base (const char *name, CORBA::ORB_ptr orb, PortableServer::POA_ptr p, const char *nodeapp_loc, const char *nodeapp_options, int spawn_delay)
 Constructor.
virtual void init ()
 Initializes the NodeManager.
virtual PortableServer::POA_ptr _default_POA (void)
 POA operation..
virtual char * name ()
 CIAO::Daemon defined attributes/operations.
virtual void shutdown ()
virtual void joinDomain (const Deployment::Domain &domain, Deployment::TargetManager_ptr manager, Deployment::Logger_ptr log)
virtual void leaveDomain ()
virtual
::Deployment::NodeApplicationManager_ptr 
preparePlan (const Deployment::DeploymentPlan &plan)
virtual void destroyManager (Deployment::NodeApplicationManager_ptr appManager)
virtual void destroyPlan (const Deployment::DeploymentPlan &plan)
virtual
::Deployment::ComponentPlans
get_shared_components ()
 CIAO specific extension, return a set of shared components.
virtual ::CORBA::Long set_priority (const char *plan_id, const char *cid, const ::Deployment::Sched_Params &nm_params)
virtual
::Components::FacetDescriptions * 
get_all_facets (ACE_CString &name)
virtual
::Components::ConsumerDescriptions * 
get_all_consumers (ACE_CString &name)
virtual void set_all_facets (ACE_CString &name, const ::Components::FacetDescriptions_var &facets)
virtual void set_all_consumers (ACE_CString &name, const ::Components::ConsumerDescriptions_var &consumers)
virtual void push_component_id_info (Component_Ids comps)
Component_Ids get_component_detail ()

Protected Types

typedef
ACE_Hash_Map_Manager_Ex
< ACE_CString, Ref_Count_Info,
ACE_Hash< ACE_CString >,
ACE_Equal_To< ACE_CString >,
ACE_Null_Mutex
Reference_Count_Map
typedef
Reference_Count_Map::iterator 
Ref_Count_Iterator
typedef
ACE_Hash_Map_Manager_Ex
< ACE_CString,
Components::FacetDescriptions_var,
ACE_Hash< ACE_CString >,
ACE_Equal_To< ACE_CString >,
ACE_Null_Mutex
Component_Facets_Map
typedef
ACE_Hash_Map_Manager_Ex
< ACE_CString,
Components::ConsumerDescriptions_var,
ACE_Hash< ACE_CString >,
ACE_Equal_To< ACE_CString >,
ACE_Null_Mutex
Component_Consumers_Map

Protected Member Functions

virtual ~NodeManager_Impl_Base (void)
virtual
::CIAO::NodeApplicationManager_Impl_Base
create_node_app_manager (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa)=0
virtual
::Deployment::ComponentPlans
get_shared_components_i (void)
 Actual implementation of the get_shared_components IDL operation.
CORBA::StringSeq * shared_components_seq (void)
 A helper method that convert ACE_Unbounded_Set to CORBA StringSeq.

Protected Attributes

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.
CORBA::String_var name_
 My Canonical name.
CORBA::String_var nodeapp_location_
 NodeApplication location.
CORBA::String_var nodeapp_options_
 NodeApplication options.
PortableServer::POA_var callback_poa_
 Cached callback POA.
int spawn_delay_
 Spawn delay for the NodeAppMgr.
NAM_Map map_
Reference_Count_Map ref_count_map_
ACE_Unbounded_Set< ACE_CStringshared_components_
 A set to track the names of shared component instances.
Component_Facets_Map comp_facets_map_
Component_Consumers_Map comp_consumers_map_
auto_ptr< MonitorControllermonitor_controller_
 The MonitorController pointer.
Component_Ids components_
 The set of Components.

Private Member Functions

bool validate_plan (const Deployment::DeploymentPlan &plan)

Classes

struct  _ref_count_info
struct  Component_Ids


Member Typedef Documentation

typedef struct CIAO::NodeManager_Impl_Base::_ref_count_info CIAO::NodeManager_Impl_Base::Ref_Count_Info

A struct that tracks the reference count of a particular component as well as the "child_plan_uuid" where the component is actually installed

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Ref_Count_Info, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeManager_Impl_Base::Reference_Count_Map [protected]

A reference count map for the components installed on this node @TODO We should also keep the information about *where* the component is installed

typedef Reference_Count_Map::iterator CIAO::NodeManager_Impl_Base::Ref_Count_Iterator [protected]

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Components::FacetDescriptions_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeManager_Impl_Base::Component_Facets_Map [protected]

Cached object references of ports (facets/consumers) of all components. This is useful for getting the port object references of "shared components". The key in the map is the component instance name.

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Components::ConsumerDescriptions_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeManager_Impl_Base::Component_Consumers_Map [protected]


Constructor & Destructor Documentation

CIAO::NodeManager_Impl_Base::NodeManager_Impl_Base ( const char *  name,
CORBA::ORB_ptr  orb,
PortableServer::POA_ptr  p,
const char *  nodeapp_loc,
const char *  nodeapp_options,
int  spawn_delay 
)

Constructor.

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

Since this class is reference counted, making this destructor protected to enforce proper memory managment through the reference counting mechanism (i.e. to disallow calling operator delete() on an instance of this class.


Member Function Documentation

void CIAO::NodeManager_Impl_Base::init (  )  [virtual]

Initializes the NodeManager.

PortableServer::POA_ptr CIAO::NodeManager_Impl_Base::_default_POA ( void   )  [virtual]

POA operation..

char * CIAO::NodeManager_Impl_Base::name (  )  [virtual]

CIAO::Daemon defined attributes/operations.

void CIAO::NodeManager_Impl_Base::shutdown (  )  [virtual]

void CIAO::NodeManager_Impl_Base::joinDomain ( const Deployment::Domain domain,
Deployment::TargetManager_ptr  manager,
Deployment::Logger_ptr  log 
) [virtual]

void CIAO::NodeManager_Impl_Base::leaveDomain (  )  [virtual]

Deployment::NodeApplicationManager_ptr CIAO::NodeManager_Impl_Base::preparePlan ( const Deployment::DeploymentPlan plan  ) 

void CIAO::NodeManager_Impl_Base::destroyManager ( Deployment::NodeApplicationManager_ptr  appManager  )  [virtual]

Reimplemented in CIAO::Static_NodeManager_Impl.

void CIAO::NodeManager_Impl_Base::destroyPlan ( const Deployment::DeploymentPlan plan  )  [virtual]

CIAO specific extension, which is particularly useful for dealing with shared components issue

Deployment::ComponentPlans * CIAO::NodeManager_Impl_Base::get_shared_components (  ) 

CIAO specific extension, return a set of shared components.

CORBA::Long CIAO::NodeManager_Impl_Base::set_priority ( const char *  plan_id,
const char *  cid,
const ::Deployment::Sched_Params nm_params 
)

RACE specific extension. Modify the priority of a node application process.

Components::FacetDescriptions * CIAO::NodeManager_Impl_Base::get_all_facets ( ACE_CString name  ) 

Components::ConsumerDescriptions * CIAO::NodeManager_Impl_Base::get_all_consumers ( ACE_CString name  ) 

void CIAO::NodeManager_Impl_Base::set_all_facets ( ACE_CString name,
const ::Components::FacetDescriptions_var &  facets 
) [virtual]

void CIAO::NodeManager_Impl_Base::set_all_consumers ( ACE_CString name,
const ::Components::ConsumerDescriptions_var &  consumers 
) [virtual]

void CIAO::NodeManager_Impl_Base::push_component_id_info ( Component_Ids  comps  )  [virtual]

CIAO::NodeManager_Impl_Base::Component_Ids CIAO::NodeManager_Impl_Base::get_component_detail (  ) 

bool CIAO::NodeManager_Impl_Base::validate_plan ( const Deployment::DeploymentPlan plan  )  [private]

Validate the child deployment plan. In particular, we are trying to verify that all the component instances within this child deployment plan have the same "server_resource_id" assigned.

virtual ::CIAO::NodeApplicationManager_Impl_Base* CIAO::NodeManager_Impl_Base::create_node_app_manager ( CORBA::ORB_ptr  orb,
PortableServer::POA_ptr  poa 
) [protected, pure virtual]

Implemented in CIAO::NodeManager_Impl, and CIAO::Static_NodeManager_Impl.

Deployment::ComponentPlans * CIAO::NodeManager_Impl_Base::get_shared_components_i ( void   )  [protected]

Actual implementation of the get_shared_components IDL operation.

CORBA::StringSeq * CIAO::NodeManager_Impl_Base::shared_components_seq ( void   )  [protected]

A helper method that convert ACE_Unbounded_Set to CORBA StringSeq.


Member Data Documentation

CORBA::ORB_var CIAO::NodeManager_Impl_Base::orb_ [protected]

Keep a pointer to the managing ORB serving this servant.

PortableServer::POA_var CIAO::NodeManager_Impl_Base::poa_ [protected]

Keep a pointer to the managing POA.

CORBA::String_var CIAO::NodeManager_Impl_Base::name_ [protected]

My Canonical name.

CORBA::String_var CIAO::NodeManager_Impl_Base::nodeapp_location_ [protected]

NodeApplication location.

CORBA::String_var CIAO::NodeManager_Impl_Base::nodeapp_options_ [protected]

NodeApplication options.

PortableServer::POA_var CIAO::NodeManager_Impl_Base::callback_poa_ [protected]

Cached callback POA.

int CIAO::NodeManager_Impl_Base::spawn_delay_ [protected]

Spawn delay for the NodeAppMgr.

NAM_Map CIAO::NodeManager_Impl_Base::map_ [protected]

Cache reference of last NodeAppManager Deployment::NodeApplicationManager_var manager_;

Reference_Count_Map CIAO::NodeManager_Impl_Base::ref_count_map_ [protected]

ACE_Unbounded_Set<ACE_CString> CIAO::NodeManager_Impl_Base::shared_components_ [protected]

A set to track the names of shared component instances.

Component_Facets_Map CIAO::NodeManager_Impl_Base::comp_facets_map_ [protected]

Component_Consumers_Map CIAO::NodeManager_Impl_Base::comp_consumers_map_ [protected]

auto_ptr<MonitorController> CIAO::NodeManager_Impl_Base::monitor_controller_ [protected]

The MonitorController pointer.

Component_Ids CIAO::NodeManager_Impl_Base::components_ [protected]

The set of Components.


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