-// Copyright (C) 2021-2022 CEA/DEN, EDF R&D
+// Copyright (C) 2021-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
%{
#include "KernelBasis.hxx"
#include "HeatMarcel.hxx"
+#include "libSALOMELog.hxx"
+#include "Monitoring.hxx"
using namespace SALOME;
%}
-%include "std_string.i"
+%include std_string.i
+%include std_set.i
+%include std_except.i
+%include std_vector.i
+
+%template(dvec) std::vector<double>;
+%template(strvec) std::vector<std::string>;
+
+%exception {
+ try
+ {
+ $action
+ }
+ catch(std::exception& e)
+ {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch(...)
+ {
+ SWIG_exception(SWIG_UnknownError, "Unknown exception");
+ }
+}
%rename (HeatMarcel) HeatMarcelSwig;
+%rename (GetBigObjOnDiskThreshold) GetBigObjOnDiskThresholdSwig;
+%rename (SetBigObjOnDiskThreshold) SetBigObjOnDiskThresholdSwig;
+%rename (GetBigObjOnDiskDirectory) GetBigObjOnDiskDirectorySwig;
+%rename (SetBigObjOnDiskDirectory) SetBigObjOnDiskDirectorySwig;
+%rename (BigObjOnDiskDirectoryDefined) BigObjOnDiskDirectoryDefinedSwig;
bool getSSLMode();
void setSSLMode(bool sslMode);
double GetTimeAdjustmentCst();
+long LaunchMonitoring(const std::string& pyScriptToEvaluate);
+
+void StopMonitoring(long pid);
+
+bool VerbosityActivated();
+
+void SetVerbosityActivated(bool flag);
+
+bool IsDebugLevel();
+
+bool IsInfoLevel();
+
+bool IsWarningLevel();
+
+bool IsErrorLevel();
+
+void WriteInStdout(const std::string& msg);
+
+void WriteInStderr(const std::string& msg);
+
+%rename (SetVerbosityLevel) SetVerbosityLevelSwig;
+%rename (VerbosityLevel) VerbosityLevelSwig;
+%rename (SetPyExecutionMode) SetPyExecutionModeStrSwig;
+%rename (GetPyExecutionMode) GetPyExecutionModeStrSwig;
+%rename (GetAllPyExecutionModes) GetAllPyExecutionModesSwig;
+
%inline
{
PyObject *HeatMarcelSwig(double timeAjustment, unsigned int nbThreads = 0)
PyTuple_SetItem(ret,1,SWIG_From_double(timeInS));
return ret;
}
+
+std::vector<double> ReadFloatsInFileSwig(const std::string& fileName)
+{
+ std::vector<double> ret;
+ try
+ {
+ ret = SALOME::ReadFloatsInFile( fileName );
+ }
+ catch(std::exception& e) { }
+ return ret;
+}
+
+int GetBigObjOnDiskThresholdSwig()
+{
+ return SALOME::GetBigObjOnDiskThreshold();
+}
+
+void SetBigObjOnDiskThresholdSwig(int newThreshold)
+{
+ return SALOME::SetBigObjOnDiskThreshold(newThreshold);
}
+
+std::string GetBigObjOnDiskDirectorySwig()
+{
+ return SALOME::GetBigObjOnDiskDirectory();
+}
+
+void SetBigObjOnDiskDirectorySwig(const std::string& directory)
+{
+ return SALOME::SetBigObjOnDiskDirectory(directory);
+}
+
+bool BigObjOnDiskDirectoryDefinedSwig()
+{
+ return SALOME::BigObjOnDiskDirectoryDefined();
+}
+
+void SetVerbosityLevelSwig(const std::string& level)
+{
+ SetVerbosityLevelStr(level);
+}
+
+std::string VerbosityLevelSwig()
+{
+ return VerbosityLevelStr();
+}
+
+void SetPyExecutionModeStrSwig(const std::string& mode)
+{
+ SetPyExecutionModeStr( mode );
+}
+
+std::string GetPyExecutionModeStrSwig()
+{
+ return GetPyExecutionModeStr();
+}
+
+std::vector<std::string> GetAllPyExecutionModesSwig()
+{
+ return GetAllPyExecutionModes();
+}
+}
+
+%pythoncode %{
+def ReadFloatsInFile( fileName ):
+ ret = ReadFloatsInFileSwig( fileName )
+ return ret
+%}
\ No newline at end of file