summaryrefslogtreecommitdiff
path: root/modules/CIAO/DAnCE/DomainApplication/Domain_Application_Impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/DAnCE/DomainApplication/Domain_Application_Impl.h')
-rw-r--r--modules/CIAO/DAnCE/DomainApplication/Domain_Application_Impl.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/modules/CIAO/DAnCE/DomainApplication/Domain_Application_Impl.h b/modules/CIAO/DAnCE/DomainApplication/Domain_Application_Impl.h
new file mode 100644
index 00000000000..69dea848e0b
--- /dev/null
+++ b/modules/CIAO/DAnCE/DomainApplication/Domain_Application_Impl.h
@@ -0,0 +1,81 @@
+// $Id$
+/**========================================================
+ *
+ * @file Domain_Application_Impl.h
+ *
+ * @Brief This file contains the implementation of
+ * the DomainApplication interface.
+ *
+ * @author Vinzenz Tornow <vt@prismtech.com>
+ *========================================================*/
+
+#ifndef DOMAIN_APPLICATION_H
+#define DOMAIN_APPLICATION_H
+#include /**/ "ace/pre.h"
+
+#include "Domain_Application_Export.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "Deployment/Deployment_DomainApplicationS.h"
+#include "ace/Map_Manager.h"
+#include "Deployment/Deployment_NodeApplicationC.h"
+#include "Deployment/Deployment_NodeApplicationManagerC.h"
+#include "Deployment/Deployment_NodeManagerC.h"
+
+namespace DAnCE
+ {
+
+ /**
+ * @class DomainApplication_Impl
+ *
+ * @brief This class implements the DomainApplication interface.
+ *
+ **/
+ class Domain_Application_Export DomainApplication_Impl
+ : public virtual POA_Deployment::DomainApplication
+ {
+ public:
+ typedef ACE_Map_Manager < Deployment::NodeApplicationManager_var,
+ Deployment::NodeManager_var,
+ ACE_Null_Mutex > TNam2Nm;
+ typedef ACE_Map_Manager < Deployment::Application_var,
+ Deployment::NodeApplicationManager_var,
+ ACE_Null_Mutex > TApp2Mgr;
+
+ DomainApplication_Impl (TNam2Nm& nams,
+ const Deployment::Properties & configProperty,
+ Deployment::Connections& conn);
+ ~DomainApplication_Impl();
+
+ void startLaunch (const Deployment::Properties & configProperty);
+
+ /**
+ * The second step in launching an application in the
+ * domain-level. If the start parameter is true, the application
+ * is started as well. Raises the StartError exception if
+ * launching or starting the application fails.
+ */
+ virtual void
+ finishLaunch (const Deployment::Connections & connections,
+ CORBA::Boolean start);
+ /**
+ * Starts the application. Raises the StartError exception if
+ * starting the application fails.
+ */
+ virtual void start ();
+
+ private:
+ TApp2Mgr node_applications_;
+ Deployment::Connections connections_;
+ TNam2Nm & nams_;
+ Deployment::Application_var na_;
+ };
+} // DAnCE
+
+#include /**/ "ace/post.h"
+#endif // DOMAIN_APPLICATION_H
+
+