X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=idl%2FSALOME_Component.idl;h=3e550f8ba34f2069fc376413ab8892ce3df74029;hb=15a97ac169f8acd9cfcb6c4f9ef236d79c9d6a32;hp=8c02315aab0b892f1e7ca0278b363b4bc366404d;hpb=8723fcf67b7efe234c1c63bb7139ee7a247ed421;p=modules%2Fkernel.git diff --git a/idl/SALOME_Component.idl b/idl/SALOME_Component.idl index 8c02315aa..3e550f8ba 100644 --- a/idl/SALOME_Component.idl +++ b/idl/SALOME_Component.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 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 @@ -19,6 +19,7 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : SALOME_Component.idl // Author : Paul RASCLE, EDF @@ -29,13 +30,15 @@ #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 */ /*! \brief This is a package of interfaces used for connecting new components to %SALOME -application. It also contains a set of interfaces used for management of %MED +application. It also contains a set of interfaces used for management of %FIELDS component in %SALOME application. */ module Engines @@ -60,6 +63,9 @@ module Engines }; typedef sequence FieldsDict; + typedef sequence vectorOfDouble; + typedef sequence vectorOfString; + typedef sequence vectorOfVectorOfString; interface EngineComponent ; interface fileRef ; @@ -74,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) @@ -146,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() ; @@ -161,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(); @@ -232,8 +282,40 @@ module Engines */ PyScriptNode createPyScriptNode(in string nodeName, in string code) raises(SALOME::SALOME_Exception); + void removePyScriptNode(in string nodeName) raises(SALOME::SALOME_Exception); + //! Retrieves the last created PyScriptNode instance with createPyScriptNode. PyScriptNode getDefaultPyScriptNode(in string nodeName); + + //! This method remove all refs of PyScriptNode servant objects stored in server. + /*! + * 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. @@ -251,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.