Salome HOME
Merge Python 3 porting.
[modules/yacs.git] / src / runtime / CppContainer.hxx
index 2eb24659224b8f4b6bb5d630e83dfa754299ab26..281fa7d9e52553ab9ffbbb54cba9243e48a2f8a6 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2006-2016  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
@@ -100,36 +100,45 @@ namespace YACS
 
     };
 
-    class CppContainer : public Container {
-
+    class CppContainer : public Container
+    {
       friend class CppComponent;
       friend class LocalContainer;
-      
     public:
       CppContainer();
       virtual ~CppContainer();
-      bool isAlreadyStarted(const ComponentInstance *inst) const;
-      void start(const ComponentInstance *inst) throw (YACS::Exception);
-      std::string getPlacementId(const ComponentInstance *inst) const;
-      std::string getFullPlacementId(const ComponentInstance *inst) const;
+      std::string getKind() const;
+      bool isAlreadyStarted(const Task *askingNode) const;
+      void start(const Task *askingNode) throw (YACS::Exception);
+      void shutdown(int level);
+      std::string getPlacementId(const Task *askingNode) const;
+      std::string getFullPlacementId(const Task *askingNode) const;
       YACS::ENGINE::Container *clone() const;
-
+      Container *cloneAlways() const;
       void lock();
       void unLock();
-       
+
       void checkCapabilityToDealWith(const ComponentInstance *inst) const throw (YACS::Exception);
       bool loadComponentLibrary(const std::string & componentName) throw (YACS::Exception);
-      CppComponent * createComponentInstance(const std::string & componentName, int studyID = 0);
+      CppComponent * createComponentInstance(const std::string & componentName);
       void createInternalInstance(const std::string & componentName, 
                                   void *& obj, RunFunction &r, TerminateFunction &t);
       void unregisterComponentInstance(CppComponent * C);
-      
-     protected:
-       YACS::BASES::Mutex _mutex;
-       LocalContainer * _trueCont;
+      //
+      void setProperty(const std::string& name,const std::string& value) { }
+      std::string getProperty(const std::string& name) const { return std::string(); }
+      void clearProperties() { }
+      void addComponentName(const std::string& name) { }
+      std::map<std::string,std::string> getProperties() const { return std::map<std::string,std::string>(); }
+      std::map<std::string,std::string> getResourceProperties(const std::string& name) const { return std::map<std::string,std::string>(); }
+      //
+    public:
+      static char KIND[];
+    protected:
+      YACS::BASES::Mutex _mutex;
+      LocalContainer * _trueCont;
 
-     };
+    };
   };
 };