Salome HOME
Compilation on Windows
[modules/yacs.git] / src / runtime / CORBANode.hxx
index f65ebb16c80ee499bc1a6d16f564e3f1b4e94950..1da9a3e6ddf41daf2dea0f526200a6772de01fa4 100644 (file)
@@ -1,7 +1,28 @@
+// Copyright (C) 2006-2013  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef _CORBANODE_HXX_
 #define _CORBANODE_HXX_
 
+#include "YACSRuntimeSALOMEExport.hxx"
 #include "ServiceNode.hxx"
+#include "Mutex.hxx"
 #include "yacsconfig.h"
 #ifdef DSC_PORTS
 #include "DSC_Engines.hh"
@@ -20,7 +41,7 @@ namespace YACS
  * \see InputCorbaPort
  * \see OutputCorbaPort
  */
-    class CORBANode : public ServiceNode 
+    class YACSRUNTIMESALOME_EXPORT CORBANode : public ServiceNode 
     {
     protected:
       Node *simpleClone(ComposedNode *father, bool editionOnly) const;
@@ -43,7 +64,7 @@ namespace YACS
  * \see InputCorbaPort
  * \see OutputCorbaPort
  */
-    class SalomeNode : public ServiceNode 
+    class YACSRUNTIMESALOME_EXPORT SalomeNode : public ServiceNode 
     {
     protected:
       Node *simpleClone(ComposedNode *father, bool editionOnly) const;
@@ -60,9 +81,17 @@ namespace YACS
       virtual void initService();
       virtual void connectService();
       virtual void disconnectService();
+      virtual void cleanNodes();
       std::list<Engines::ConnectionManager::connectionId> ids;
 #endif
+      virtual void shutdown(int level);
       virtual std::string getContainerLog();
+
+      virtual void addDatastreamPortToInitMultiService(const std::string & port_name,
+                                                       int number);
+    private:
+      YACS::BASES::Mutex _mutex;
+      Engines::Superv_Component::seq_multiple_param _param;
     };
   }
 }