Salome HOME
updated copyright message
[modules/kernel.git] / src / ResourcesManager / SALOME_ResourcesManager.hxx
index e24c908a542e0cda04e0ee4d145e2b0ce9da518c..1d2d5d0ff12fcfa070334d005ddd948c819c6155 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  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
 #include "Utils_SALOME_Exception.hxx"
 #include "utilities.h"
 #include <SALOMEconfig.h>
-#include "SALOME_NamingService.hxx"
+#include "SALOME_NamingService_Abstract.hxx"
 #include CORBA_CLIENT_HEADER(SALOME_ContainerManager)
 #include <string>
 #include <fstream>
 #include <vector>
+#include <memory>
 #include "ResourcesManager.hxx"
 
-
-#ifdef WIN32
-# if defined SALOMERESOURCESMANAGER_EXPORTS || defined SalomeResourcesManager_EXPORTS
-#  define SALOMERESOURCESMANAGER_EXPORT __declspec( dllexport )
-# else
-#  define SALOMERESOURCESMANAGER_EXPORT __declspec( dllimport )
-# endif
-#else
-# define SALOMERESOURCESMANAGER_EXPORT
-#endif
+#include "SALOME_ResourcesManager_Common.hxx"
 
 #ifdef WIN32
 #pragma warning(disable:4275) // Disable warning interface non dll
@@ -61,8 +53,8 @@ class SALOMERESOURCESMANAGER_EXPORT SALOME_ResourcesManager:
 
   public:
 
-    SALOME_ResourcesManager(CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_NamingService *ns, const char *xmlFilePath);
-    SALOME_ResourcesManager(CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_NamingService *ns);
+    SALOME_ResourcesManager(CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_NamingService_Abstract *ns, const char *xmlFilePath);
+    SALOME_ResourcesManager(CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_NamingService_Abstract *ns);
 
     ~SALOME_ResourcesManager();
 
@@ -78,27 +70,24 @@ class SALOMERESOURCESMANAGER_EXPORT SALOME_ResourcesManager:
     void RemoveResource(const char * resource_name,
                         CORBA::Boolean write,
                         const char * xml_file);
-
+    char* getMachineFile(const char * resource_name,
+                         CORBA::Long nb_procs,
+                         const char * parallelLib);
+    void ListAllAvailableResources(Engines::ResourceList_out machines, Engines::IntegerList_out nbProcsOfMachines);
+    
+    Engines::ResourceList *ListAllResourcesInCatalog();
     // Cpp Methods
     void Shutdown();
-    ResourcesManager_cpp *GetImpl() { return &_rm; }
-    std::string getMachineFile(std::string resource_name, 
-                               CORBA::Long nb_procs,
-                               std::string parallelLib);
+    std::shared_ptr<ResourcesManager_cpp>& GetImpl() { return _rm; }
 
 
     static const char *_ResourcesManagerNameInNS;
   protected:
 
-    SALOME_NamingService *_NS;
+    SALOME_NamingService_Abstract *_NS;
     CORBA::ORB_var _orb;
     PortableServer::POA_var _poa;
-
-    //
-    //! will contain the informations on the data type catalog(after parsing)
-    MapOfParserResourcesType _resourcesBatchList;
-
-    ResourcesManager_cpp _rm;
+    std::shared_ptr<ResourcesManager_cpp> _rm;
   };
 
 #endif // RESSOURCESCATALOG_IMPL_H