summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h')
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h79
1 files changed, 76 insertions, 3 deletions
diff --git a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
index a30fe5a2244..0d5a08170b7 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
+++ b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
@@ -22,6 +22,7 @@
#include /**/ "ace/pre.h"
#include "NodeDaemonS.h"
+#include "NodeApplicationManager/NodeApplicationManager_Impl.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -46,14 +47,17 @@ namespace CIAO
* This class implements the CIAO:NodeDaemon interface.
*
*/
- class NodeDaemon_Impl
+
+ class NodeApplicationManager_Impl_Base;
+
+ class NodeDaemon_Impl_Base
: public virtual POA_CIAO::NodeDaemon,
public virtual PortableServer::RefCountServantBase
{
public:
/// Constructor
- NodeDaemon_Impl (const char *name,
+ NodeDaemon_Impl_Base (const char *name,
CORBA::ORB_ptr orb,
PortableServer::POA_ptr p,
const char * nodeapp_loc,
@@ -99,7 +103,11 @@ namespace CIAO
/// through the reference counting mechanism (i.e. to
/// disallow calling operator delete() on an instance of
/// this class.
- virtual ~NodeDaemon_Impl (void);
+ virtual ~NodeDaemon_Impl_Base (void);
+
+ virtual ::CIAO::NodeApplicationManager_Impl_Base *
+ create_node_app_manager (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa)=0;
// Keep a pointer to the managing ORB serving this servant.
CORBA::ORB_var orb_;
@@ -122,6 +130,71 @@ namespace CIAO
// Cache reference of last NodeAppManager
Deployment::NodeApplicationManager_var manager_;
};
+
+ /**
+ * @class NodeDaemon_Impl
+ *
+ */
+ class NodeDaemon_Impl
+ : public virtual NodeDaemon_Impl_Base
+ {
+ public:
+
+ /// Constructor
+ NodeDaemon_Impl (const char *name,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr p,
+ const char * nodeapp_loc,
+ 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 ~NodeDaemon_Impl (void);
+
+ CIAO::NodeApplicationManager_Impl_Base *
+ CIAO::NodeDaemon_Impl::create_node_app_manager (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa);
+ };
+
+ class NodeApplicationManager_Impl;
+ struct Static_Config_EntryPoints_Maps;
+
+ /**
+ * @class Static_NodeDaemon_Impl
+ *
+ */
+ class Static_NodeDaemon_Impl
+ : public virtual NodeDaemon_Impl_Base
+ {
+ public:
+
+ /// Constructor
+ Static_NodeDaemon_Impl (const char *name,
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr p,
+ const char * nodeapp_loc,
+ int spawn_delay,
+ Static_Config_EntryPoints_Maps* static_config_entrypoints_maps
+ );
+
+ 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_NodeDaemon_Impl (void);
+
+ CIAO::NodeApplicationManager_Impl_Base *
+ CIAO::Static_NodeDaemon_Impl::create_node_app_manager (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa);
+
+ Static_Config_EntryPoints_Maps* static_config_entrypoints_maps_;
+ };
}
#if defined(_MSC_VER) && (_MSC_VER >= 1200)