X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSALOME_Component.idl;h=3e550f8ba34f2069fc376413ab8892ce3df74029;hb=15a97ac169f8acd9cfcb6c4f9ef236d79c9d6a32;hp=47d5f7c167008fcab78d0c82a2423b59135429c5;hpb=fefae22cce452747e6dca9840ee86f124d07c5ac;p=modules%2Fkernel.git diff --git a/idl/SALOME_Component.idl b/idl/SALOME_Component.idl index 47d5f7c16..3e550f8ba 100644 --- a/idl/SALOME_Component.idl +++ b/idl/SALOME_Component.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, 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 @@ -31,6 +31,7 @@ #include "SALOME_Exception.idl" #include "SALOME_PyNode.idl" #include "SALOME_Embedded_NamingService.idl" +#include "SALOME_Comm.idl" /*! \file SALOME_Component.idl \brief interfaces for EngineComponent and Container */ @@ -62,6 +63,9 @@ module Engines }; typedef sequence FieldsDict; + typedef sequence vectorOfDouble; + typedef sequence vectorOfString; + typedef sequence vectorOfVectorOfString; interface EngineComponent ; interface fileRef ; @@ -76,6 +80,32 @@ module Engines interface Container { + void override_environment( in FieldsDict env ); + + void override_environment_python( in FieldsDict env ); + + FieldsDict get_os_environment(); + + void set_big_obj_on_disk_threshold(in long thresholdInByte); + + void set_big_obj_on_disk_directory(in string directory); + + void set_directory_for_replay_files(in string directory); + + void set_number_of_retry(in long nbRetry); + + void set_current_directory(in string cwd); + + void set_startup_code(in string codeAtStartUp); + + string get_startup_code(); + + void addLogFileNameGroup(in vectorOfString groupOfLogFileNames); + + vectorOfVectorOfString getAllLogFileNameGroups(); + + void execute_python_code( in string code ) raises(SALOME::SALOME_Exception); + /*! \brief Loads a new component class (dynamic library). \param componentName like COMPONENT, (Python or C++ implementation) @@ -151,6 +181,8 @@ module Engines //! In case of SSL mode Returns entry to Embedded NS EmbeddedNamingService get_embedded_NS_if_ssl(); + + boolean is_SSL_mode(); //! Unload component libraries from the container. void finalize_removal() ; @@ -166,10 +198,23 @@ module Engines //! name of the %container log file (this has been set by the launcher) attribute string logfilename ; + + //! name of the %container log file + attribute string locallogfilename ; + + //! interval of time between two measures of CPU/time process container + attribute long monitoringtimeresms; + + void verbosity(out boolean activated, out string level); + + void setVerbosity(in boolean activated, in string level); - //! Shutdown the Container process. + //! Shutdown the Container process. Shutdown is not immediate. It waits for all remaining invokation completion. void Shutdown(); + //! Shutdown the Container process. Shutdown is immediate for this method. + void ShutdownNow(); + //! Returns the hostname of the container string getHostName(); @@ -247,6 +292,30 @@ module Engines * Previous scripts created on container may have been stored in a map. This method removes them. It then clean all the contexts dict attached to them. */ void cleanAllPyScripts(); + + //! Return number of CPU cores in the calculation node. + long getNumberOfCPUCores(); + + //! Return a load of each CPU core. + vectorOfDouble loadOfCPUCores() raises(SALOME::SALOME_Exception); + + //! Set custom script to calculate a load of each CPU core. + /*! + \param script Python script to execute + */ + void setPyScriptForCPULoad(in string script); + + //! Nullify custom script to calculate each CPU core's load. + void resetScriptForCPULoad(); + + //! Get total physical memory of calculation node, in megabytes. + long getTotalPhysicalMemory(); + + //! Get used physical memory of calculation node, in megabytes. + long getTotalPhysicalMemoryInUse(); + + //! Obtain physical memory, used by the current process, in megabytes. + long getTotalPhysicalMemoryInUseByMe(); }; /*! \brief Interface of the %component.