]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
[EDF30382] : ease access remotely to list of ressources
authorAnthony Geay <anthony.geay@edf.fr>
Wed, 26 Jun 2024 06:30:27 +0000 (08:30 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Wed, 26 Jun 2024 06:30:27 +0000 (08:30 +0200)
idl/SALOME_ResourcesManager.idl
src/ResourcesManager/SALOME_ResourcesManager.cxx
src/ResourcesManager/SALOME_ResourcesManager.hxx

index fc96936217b1e7761ab99c14668adf164b3c0297..e6f0b81f90d685ea55663e223377569b1adb386b 100644 (file)
@@ -198,6 +198,8 @@ interface ResourcesManager
   void ListAllAvailableResources(out ResourceList machines, out IntegerList nbProcsOfMachines) raises (SALOME::SALOME_Exception);
 
   ResourceList ListAllResourcesInCatalog() raises (SALOME::SALOME_Exception);
+  
+  ResourceList ListAllResourceEntriesInCatalog() raises (SALOME::SALOME_Exception);
 };
 
 };
index 7c20fc425c822c51e895d91aee5f53cd78dde991..2299a7aa737b773c4fe664d1e48feefc34825388 100644 (file)
@@ -146,7 +146,7 @@ void SALOME_ResourcesManager::Shutdown()
  * 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
+ * \sa SALOME_ResourcesManager::ListAllResourcesInCatalog, SALOME_ResourcesManager::ListAllResourceEntriesInCatalog
  */
 void SALOME_ResourcesManager::ListAllAvailableResources(Engines::ResourceList_out machines, Engines::IntegerList_out nbProcsOfMachines)
 {
@@ -176,7 +176,7 @@ 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
+ * \sa SALOME_ResourcesManager::ListAllAvailableResources, SALOME_ResourcesManager::ListAllResourceEntriesInCatalog
  */
 Engines::ResourceList *SALOME_ResourcesManager::ListAllResourcesInCatalog()
 {
@@ -192,6 +192,23 @@ Engines::ResourceList *SALOME_ResourcesManager::ListAllResourcesInCatalog()
   return ret;
 }
 
+/*!
+ * Return list of resources entries available. Useful to scan remotely the content of the playground
+ */
+Engines::ResourceList *SALOME_ResourcesManager::ListAllResourceEntriesInCatalog()
+{
+  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.first.c_str() );
+  }
+  return ret;
+}
+
 //=============================================================================
 //! get the name of resources fitting the specified constraints (params)
 /*!
index ae7ea659508bc98e3e1e9eed3c63b3e20c797228..3ef01a9f1f4082f40e227444c80feca4bccc4c5d 100644 (file)
@@ -76,6 +76,9 @@ class SALOMERESOURCESMANAGER_EXPORT SALOME_ResourcesManager:
     void ListAllAvailableResources(Engines::ResourceList_out machines, Engines::IntegerList_out nbProcsOfMachines);
     
     Engines::ResourceList *ListAllResourcesInCatalog();
+
+    Engines::ResourceList *ListAllResourceEntriesInCatalog() override;
+
     // Cpp Methods
     void Shutdown();
     std::shared_ptr<ResourcesManager_cpp>& GetImpl() { return _rm; }