Salome HOME
[EDF29852] : test of mecanism of replay on error
[modules/kernel.git] / src / Container / SALOME_ContainerManager.hxx
index 67a333482df2c55960b76f931a2f8c2a22d09737..1ca71fef20e05304953db68a02e76451fc3a5b9b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -35,6 +35,7 @@
 #include <vector>
 #include <string>
 #include <utility>
+#include <functional>
 #include <set>
 
 class SALOME_NamingService_Abstract;
@@ -52,10 +53,14 @@ public:
 
   void ShutdownContainers() override;
 
+  void ShutdownContainersNow() override;
+
   void SetOverrideEnvForContainers(const Engines::KeyValDict& env) override;
 
   Engines::KeyValDict *GetOverrideEnvForContainers() override;
 
+  void SetCodeOnContainerStartUp(const char *code) override;
+
   // C++ Methods
   void Shutdown();
 
@@ -69,8 +74,16 @@ public:
 
   void SetDeltaTimeBetweenNSLookupAtLaunchTimeInMilliSecond(CORBA::Long timeInMS) override;
 
+  CORBA::Long GetDeltaTimeBetweenCPUMemMeasureInMilliSecond() override;
+
+  void SetDeltaTimeBetweenCPUMemMeasureInMilliSecond(CORBA::Long timeInMS) override;
+
   static const char *_ContainerManagerNameInNS;
 
+private:
+
+  void ShutdownContainersGeneric(std::function<void(Engines::Container_ptr)> funcToBeCalledOnContainer);
+
 protected:
   // C++ methods
   Engines::Container_ptr
@@ -81,6 +94,8 @@ protected:
   FindContainer(const Engines::ContainerParameters& params,
                 const std::string& resource);
 
+  std::string GetCppBinaryOfKernelSSLContainer() const;
+
   std::string GetCppBinaryOfKernelContainer() const;
   
   std::string GetRunRemoteExecutableScript() const;
@@ -212,5 +227,7 @@ private:
   std::vector< std::pair<std::string, std::string> > _override_env;
   int _time_out_in_second;
   int _delta_time_ns_lookup_in_ms;
+  int _delta_time_measure_in_ms;
+  std::string _code_to_exe_on_startup;
 };
 #endif