X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FBasics%2FKernelBasis.i;h=06c4fdd0868a35db45eb63b715ad3c043c19f98e;hb=1bbffef73eeeb5b2a14d8fc7bdf91affdafae664;hp=d2cdbfc1374d8e3312992e9752ceaa5a155e55db;hpb=8c71d28e4156f9208d50da39a6fc9d122e70c386;p=modules%2Fkernel.git diff --git a/src/Basics/KernelBasis.i b/src/Basics/KernelBasis.i index d2cdbfc13..06c4fdd08 100644 --- a/src/Basics/KernelBasis.i +++ b/src/Basics/KernelBasis.i @@ -1,4 +1,4 @@ -// Copyright (C) 2021 CEA/DEN, EDF R&D +// Copyright (C) 2021-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -21,12 +21,106 @@ %{ #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; + +%exception { + try + { + $action + } + catch(std::exception& e) + { + SWIG_exception(SWIG_SystemError, e.what() ); + } + catch(...) + { + SWIG_exception(SWIG_UnknownError, "Unknown exception"); + } +} + +%rename (HeatMarcel) HeatMarcelSwig; bool getSSLMode(); void setSSLMode(bool sslMode); +bool getGUIMode(); +void setGUIMode(bool guiMode); + std::string getIOROfEmbeddedNS(); void setIOROfEmbeddedNS(const std::string& ior); + +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; + +%inline +{ +PyObject *HeatMarcelSwig(double timeAjustment, unsigned int nbThreads = 0) +{ + double timeInS = 0.0; + long double piVal = HeatMarcel(timeAjustment,timeInS,nbThreads); + PyObject *ret(PyTuple_New(2)); + PyTuple_SetItem(ret,0,SWIG_From_double((double)piVal)); + PyTuple_SetItem(ret,1,SWIG_From_double(timeInS)); + return ret; +} + +std::vector ReadFloatsInFileSwig(const std::string& fileName) +{ + std::vector ret; + try + { + ret = SALOME::ReadFloatsInFile( fileName ); + } + catch(std::exception& e) { } + return ret; +} + +void SetVerbosityLevelSwig(const std::string& level) +{ + SetVerbosityLevelStr(level); +} + +std::string VerbosityLevelSwig() +{ + return VerbosityLevelStr(); +} +} + +%pythoncode %{ +def ReadFloatsInFile( fileName ): + ret = ReadFloatsInFileSwig( fileName ) + return ret +%} \ No newline at end of file