Salome HOME
[EDF28648] : On container launch time from ContainerManager it s possible to execute...
[modules/kernel.git] / src / Container / SALOME_ContainerManager.hxx
index 908a4894c2d5a0838d365e8c1d584a40140f4e93..b579d5c3dd1dccc53f3153930b3a3684b05135f4 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2022  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  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
@@ -32,7 +32,9 @@
 
 #include "Utils_Mutex.hxx"
 
+#include <vector>
 #include <string>
+#include <utility>
 #include <set>
 
 class SALOME_NamingService_Abstract;
@@ -46,15 +48,29 @@ public:
   ~SALOME_ContainerManager();
 
   // Corba Methods
-  Engines::Container_ptr GiveContainer(const Engines::ContainerParameters& params);
+  Engines::Container_ptr GiveContainer(const Engines::ContainerParameters& params) override;
 
-  void ShutdownContainers();
+  void ShutdownContainers() override;
+
+  void SetOverrideEnvForContainers(const Engines::KeyValDict& env) override;
+
+  Engines::KeyValDict *GetOverrideEnvForContainers() override;
+
+  void SetCodeOnContainerStartUp(const char *code) override;
 
   // C++ Methods
   void Shutdown();
 
   void DeclareUsingSalomeSession() { _isSSL = false; }
 
+  CORBA::Long GetTimeOutToLaunchServerInSecond() override;
+
+  void SetTimeOutToLaunchServerInSecond(CORBA::Long timeInSecond) override;
+
+  CORBA::Long GetDeltaTimeBetweenNSLookupAtLaunchTimeInMilliSecond() override;
+
+  void SetDeltaTimeBetweenNSLookupAtLaunchTimeInMilliSecond(CORBA::Long timeInMS) override;
+
   static const char *_ContainerManagerNameInNS;
 
 protected:
@@ -191,7 +207,13 @@ public:
   static void SleepInSecond(int ellapseTimeInSecond);
  private:
   static const int TIME_OUT_TO_LAUNCH_CONT;
+  static const int DFT_DELTA_TIME_NS_LOOKUP_IN_MS;
   static Utils_Mutex _getenvMutex;
   static Utils_Mutex _systemMutex;
+private:
+  std::vector< std::pair<std::string, std::string> > _override_env;
+  int _time_out_in_second;
+  int _delta_time_ns_lookup_in_ms;
+  std::string _code_to_exe_on_startup;
 };
 #endif