X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSALOME_Component.idl;h=3e550f8ba34f2069fc376413ab8892ce3df74029;hb=15a97ac169f8acd9cfcb6c4f9ef236d79c9d6a32;hp=d411216c99909f66290aae03f2b4cc00939ab0e4;hpb=39b7aec84a009a8a1946ea7b8e50c066f1cfa1f3;p=modules%2Fkernel.git diff --git a/idl/SALOME_Component.idl b/idl/SALOME_Component.idl index d411216c9..3e550f8ba 100644 --- a/idl/SALOME_Component.idl +++ b/idl/SALOME_Component.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2020 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 @@ -30,6 +30,8 @@ #include "SALOMEDS.idl" #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 */ @@ -61,6 +63,9 @@ module Engines }; typedef sequence FieldsDict; + typedef sequence vectorOfDouble; + typedef sequence vectorOfString; + typedef sequence vectorOfVectorOfString; interface EngineComponent ; interface fileRef ; @@ -75,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) @@ -147,6 +178,11 @@ module Engines \param component_i Component to be removed */ void remove_impl(in EngineComponent component_i); + + //! 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() ; @@ -162,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); - //! Shutdown the Container process. + void setVerbosity(in boolean activated, in string level); + + //! 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(); @@ -243,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. @@ -260,6 +333,7 @@ module Engines //! Determines whether the server has already been loaded or not. void ping(); + boolean isSSLMode() raises(SALOME::SALOME_Exception); //! Remove component instance from container /*! Deactivates the %Component.