diff options
Diffstat (limited to 'TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h')
-rw-r--r-- | TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h | 79 |
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) |