summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/NodeManager/NodeManager_Impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/DAnCE/NodeManager/NodeManager_Impl.h')
-rw-r--r--CIAO/DAnCE/NodeManager/NodeManager_Impl.h350
1 files changed, 0 insertions, 350 deletions
diff --git a/CIAO/DAnCE/NodeManager/NodeManager_Impl.h b/CIAO/DAnCE/NodeManager/NodeManager_Impl.h
deleted file mode 100644
index 6881a53c1e2..00000000000
--- a/CIAO/DAnCE/NodeManager/NodeManager_Impl.h
+++ /dev/null
@@ -1,350 +0,0 @@
-// -*- C++ -*-
-//=============================================================================
-/**
- * @file NodeManager_Impl.h
- *
- * $Id$
- *
- * This file contains servant implementation for Deployment:NodeManager
- * interface. In the current design of the NodeManager, each NodeManager
- * could manage one or more NodeApplication Managers.
- * Though, the name intuitively suggests
- * that there be one NodeManager for every node, our design, allows
- * the end-user to have multiple components run on the same node.
- *
- * @author Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
- * @author Gan Deng <dengg@dre.vanderbilt.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_NODEMANAGER_IMPL_H
-#define CIAO_NODEMANAGER_IMPL_H
-#include /**/ "ace/pre.h"
-
-#include "Interfaces/NodeManagerDaemonS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined (_MSC_VER)
-# pragma warning(push)
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-#include "NodeManager_svnt_export.h"
-#include "NAM_Map.h"
-#include "MonitorController.h"
-#include "ace/Vector_T.h"
-
-namespace CIAO
-{
- class NodeApplicationManager_Impl_Base;
-
- /**
- * @class NodeManager_Impl
- *
- * @brief Servant implementation CIAO's daemon process control
- * interface
- *
- * This class implements the CIAO:NodeManagerDaemon interface.
- *
- */
- class NodeManager_svnt_Export NodeManager_Impl_Base
- : public virtual POA_CIAO::NodeManagerDaemon
- {
- public:
- /// 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 struct _ref_count_info
- {
- ACE_CString plan_uuid_;
- size_t count_;
- } Ref_Count_Info;
-
- /// Constructor
- 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)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Initializes the NodeManager.
- virtual void init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// POA operation..
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// CIAO::Daemon defined attributes/operations.
- virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void joinDomain (const Deployment::Domain & domain,
- Deployment::TargetManager_ptr manager,
- Deployment::Logger_ptr log
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void leaveDomain (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Deployment::NodeApplicationManager_ptr
- preparePlan (const Deployment::DeploymentPlan &plan
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Deployment::StartError,
- Deployment::PlanError));
-
- virtual void
- destroyManager (Deployment::NodeApplicationManager_ptr appManager
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Deployment::StopError,
- Deployment::InvalidReference));
-
- /// CIAO specific extension, which is particularly useful for dealing with
- /// shared components issue
- virtual void destroyPlan (const Deployment::DeploymentPlan & plan
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((::CORBA::SystemException,
- ::Deployment::StopError));
-
- /// CIAO specific extension, return a set of shared components
- virtual ::Deployment::ComponentPlans *
- get_shared_components (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((::CORBA::SystemException));
-
- /// RACE specific extension. Modify the priority of a node application
- /// process.
-
- virtual ::CORBA::Long
- set_priority (
- const char * plan_id,
- const char * cid,
- const ::Deployment::Sched_Params & nm_params
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((::CORBA::SystemException));
-
- // ********* CIAO Specific Helper functions ************
-
- 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);
-
- // ********* Function added for getting component ids...
-
- struct Component_Ids
- {
- ACE_Unbounded_Set <ACE_CString> cid_seq_;
- pid_t process_id_;
- };
-
- virtual void push_component_id_info (Component_Ids comps);
-
-
- Component_Ids get_component_detail ();
-
- 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.
- bool validate_plan (const Deployment::DeploymentPlan &plan);
-
- protected:
- /// 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.
- virtual ~NodeManager_Impl_Base (void);
-
- virtual ::CIAO::NodeApplicationManager_Impl_Base *
- create_node_app_manager (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))=0;
-
- /// Actual implementation of the <get_shared_components> IDL operation
- virtual ::Deployment::ComponentPlans *
- get_shared_components_i (void);
-
- /// A helper method that convert ACE_Unbounded_Set to CORBA StringSeq
- CORBA::StringSeq * shared_components_seq (void);
-
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// My Canonical name.
- CORBA::String_var name_;
-
- /// NodeApplication location
- CORBA::String_var nodeapp_location_;
-
- /// NodeApplication options
- CORBA::String_var nodeapp_options_;
-
- /// Cached callback POA.
- PortableServer::POA_var callback_poa_;
-
- /// Spawn delay for the NodeAppMgr
- int spawn_delay_;
-
- /// Cache reference of last NodeAppManager
- /// Deployment::NodeApplicationManager_var manager_;
- NAM_Map map_;
-
- /// 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
- 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;
-
- Reference_Count_Map ref_count_map_;
-
- /// A set to track the names of shared component instances
- ACE_Unbounded_Set<ACE_CString> shared_components_;
-
- /// 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::FacetDescriptions_var,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> Component_Facets_Map;
-
- Component_Facets_Map comp_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;
-
- Component_Consumers_Map comp_consumers_map_;
-
- /// The MonitorController pointer
- auto_ptr <MonitorController> monitor_controller_;
-
- /// The set of Components
- Component_Ids components_;
- };
-
-
- /**
- * @class NodeManager_Impl
- *
- */
- class NodeManager_svnt_Export NodeManager_Impl
- : public virtual NodeManager_Impl_Base
- {
- public:
-
- /// Constructor
- NodeManager_Impl (const char *name,
- CORBA::ORB_ptr orb,
- PortableServer::POA_ptr p,
- const char * nodeapp_loc,
- const char * nodeapp_options,
- int spawn_delay);
-
- protected:
- /// 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.
- virtual ~NodeManager_Impl (void);
-
- virtual ::CIAO::NodeApplicationManager_Impl_Base *
- create_node_app_manager (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
- };
-
- class NodeApplicationManager_Impl;
- struct Static_Config_EntryPoints_Maps;
-
- /**
- * @class Static_NodeManager_Impl
- *
- */
- class NodeManager_svnt_Export Static_NodeManager_Impl
- : public virtual NodeManager_Impl_Base
- {
- public:
-
- /// Constructor
- Static_NodeManager_Impl (const char *name,
- CORBA::ORB_ptr orb,
- PortableServer::POA_ptr p,
- const char * nodeapp_loc,
- const char * nodeapp_options,
- int spawn_delay,
- Static_Config_EntryPoints_Maps* static_config_entrypoints_maps
- );
-
- void destroyManager
- (Deployment::NodeApplicationManager_ptr manager
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Deployment::StopError,
- Deployment::InvalidReference));
-
- protected:
- /// 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.
- virtual ~Static_NodeManager_Impl (void);
-
- virtual ::CIAO::NodeApplicationManager_Impl_Base *
- create_node_app_manager (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- Static_Config_EntryPoints_Maps* static_config_entrypoints_maps_;
- };
-
-}
-
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include /**/ "ace/post.h"
-#endif /* CIAO_NODEMANAGER_IMPL_H */