Salome HOME
[EDF29138] : measure CPU/Mem even in OutOfProcess mode
[modules/kernel.git] / src / Container / SALOME_CPythonHelper.hxx
index 02ad6e63974ff0d085bee3cb9b6e2565baeba5ec..8c15d5e99842717831e684f0636bd5ce45111a8d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2019-2020  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2019-2024  CEA, EDF, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -31,6 +31,7 @@ class CONTAINER_EXPORT SALOME_CPythonHelper
 {
  public:
   void initializePython(int argc, char *argv[]);
+  void allowPythonCallsFromDifferentThread() const;
   void registerToSalomePiDict(const std::string& processName, long pid) const;
   std::vector<long> evalVL(const std::string& pyCode) const;
   std::string evalS(const std::string& pyCode) const;
@@ -38,6 +39,10 @@ class CONTAINER_EXPORT SALOME_CPythonHelper
   PyObject *getGlobals() const { return _globals; }
   PyObject *getLocals() const { return _locals; }
   PyObject *getPickler() const  { return _pickler; }
+  static SALOME_CPythonHelper *Singleton();
+  static void KillSingleton();
+ private:
+  static SALOME_CPythonHelper *_CPYTHONHELPER_INSTANCE;
  private:
   PyObject *_globals = nullptr;
   PyObject *_locals = nullptr;