Salome HOME
BugID: IPAL9392, modified methods GetRowUnits.
[modules/kernel.git] / src / Container / SALOME_ContainerManager.hxx
1 #ifndef __SALOME_CONTAINERMANAGER_HXX__
2 #define __SALOME_CONTAINERMANAGER_HXX__
3
4 #include <SALOMEconfig.h>
5 #include CORBA_CLIENT_HEADER(SALOME_Component)
6 #include CORBA_CLIENT_HEADER(SALOME_ContainerManager)
7 #include "SALOME_ResourcesManager.hxx"
8 #include "SALOME_LoadRateManager.hxx"
9
10 #include <string>
11
12 class SALOME_NamingService;
13
14 #if defined CONTAINER_EXPORTS
15 #if defined WIN32
16 #define CONTAINER_EXPORT __declspec( dllexport )
17 #else
18 #define CONTAINER_EXPORT
19 #endif
20 #else
21 #if defined WNT
22 #define CONTAINER_EXPORT __declspec( dllimport )
23 #else
24 #define CONTAINER_EXPORT
25 #endif
26 #endif
27
28 class CONTAINER_EXPORT SALOME_ContainerManager: public POA_Engines::ContainerManager,
29                                public PortableServer::RefCountServantBase {
30 private:
31   SALOME_ResourcesManager _ResManager;
32   SALOME_LoadRateManager _LoadManager;
33   SALOME_NamingService *_NS;
34 public:
35   SALOME_ContainerManager(CORBA::ORB_ptr orb);
36   ~SALOME_ContainerManager();
37   Engines::Container_ptr FindOrStartContainer(const char *containerName, const Engines::MachineList& possibleComputer);
38   Engines::MachineList *GetFittingResources(const Engines::MachineParameters& params, const char *componentName);
39   char* FindBest(const Engines::MachineList& possibleComputers);
40   void Shutdown();
41   void ShutdownContainers();
42
43   static const char *_ContainerManagerNameInNS;
44 private:
45   Engines::Container_ptr FindContainer(const char *containerName,const Engines::MachineList& possibleComputers);
46   Engines::Container_ptr FindContainer(const char *containerName,const char *theMachine);
47   std::string BuildContainerNameInNS(const char *containerName,const char *machineName);
48 };
49
50 #endif