From: Anthony Geay Date: Fri, 6 Jan 2023 08:25:18 +0000 (+0100) Subject: Add Engines.ResourcesManager.ListAllResourcesInCatalog method X-Git-Tag: V9_11_0a1~12 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=c4a46730bf1b2bce34a01c7bae847f0aeafd8141;p=modules%2Fkernel.git Add Engines.ResourcesManager.ListAllResourcesInCatalog method --- diff --git a/idl/SALOME_ResourcesManager.idl b/idl/SALOME_ResourcesManager.idl index 3504075f6..bd1afb85a 100644 --- a/idl/SALOME_ResourcesManager.idl +++ b/idl/SALOME_ResourcesManager.idl @@ -196,6 +196,8 @@ interface ResourcesManager //! Return list of resources available (regarding content of CatalogResources.xml). And for each resource the number of proc available of it. void ListAllAvailableResources(out ResourceList machines, out IntegerList nbProcsOfMachines) raises (SALOME::SALOME_Exception); + + ResourceList ListAllResourcesInCatalog() raises (SALOME::SALOME_Exception); }; }; diff --git a/src/ResourcesManager/SALOME_ResourcesManager.cxx b/src/ResourcesManager/SALOME_ResourcesManager.cxx index f4897ad89..c81b240f3 100644 --- a/src/ResourcesManager/SALOME_ResourcesManager.cxx +++ b/src/ResourcesManager/SALOME_ResourcesManager.cxx @@ -146,7 +146,10 @@ void SALOME_ResourcesManager::Shutdown() } /*! - * Return list of resources available (regarding content of CatalogResources.xml). And for each resource the number of proc available of it. + * Return list of resources available (regarding content of CatalogResources.xml) but select only those with canRunContainers attribute set to true. + * And for each resource the number of proc available of it. + * + * \sa SALOME_ResourcesManager::ListAllResourcesInCatalog */ void SALOME_ResourcesManager::ListAllAvailableResources(Engines::ResourceList_out machines, Engines::IntegerList_out nbProcsOfMachines) { @@ -173,6 +176,25 @@ void SALOME_ResourcesManager::ListAllAvailableResources(Engines::ResourceList_ou } } +/*! + * Return list of resources available (regarding content of CatalogResources.xml) whatever canRunContainers attribute value. + * + * \sa SALOME_ResourcesManager::ListAllAvailableResources + */ +Engines::ResourceList *SALOME_ResourcesManager::ListAllResourcesInCatalog() +{ + const MapOfParserResourcesType& zeList(_rm->GetList()); + auto sz = zeList.size(); + Engines::ResourceList *ret(new Engines::ResourceList); + ret->length( sz ); + CORBA::ULong i(0); + for(auto it : zeList) + { + (*ret)[i++] = CORBA::string_dup( it.second.HostName.c_str() ); + } + return ret; +} + //============================================================================= //! get the name of resources fitting the specified constraints (params) /*! diff --git a/src/ResourcesManager/SALOME_ResourcesManager.hxx b/src/ResourcesManager/SALOME_ResourcesManager.hxx index 48a014cb0..ccf13de88 100644 --- a/src/ResourcesManager/SALOME_ResourcesManager.hxx +++ b/src/ResourcesManager/SALOME_ResourcesManager.hxx @@ -74,6 +74,8 @@ class SALOMERESOURCESMANAGER_EXPORT SALOME_ResourcesManager: CORBA::Long nb_procs, const char * parallelLib); void ListAllAvailableResources(Engines::ResourceList_out machines, Engines::IntegerList_out nbProcsOfMachines); + + Engines::ResourceList *ListAllResourcesInCatalog(); // Cpp Methods void Shutdown(); std::shared_ptr& GetImpl() { return _rm; }