1 #ifndef __SALOME_CONTAINERMANAGER_HXX__
2 #define __SALOME_CONTAINERMANAGER_HXX__
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"
12 class SALOME_NamingService;
14 #if defined CONTAINER_EXPORTS
16 #define CONTAINER_EXPORT __declspec( dllexport )
18 #define CONTAINER_EXPORT
22 #define CONTAINER_EXPORT __declspec( dllimport )
24 #define CONTAINER_EXPORT
28 class CONTAINER_EXPORT SALOME_ContainerManager: public POA_Engines::ContainerManager,
29 public PortableServer::RefCountServantBase {
31 SALOME_ResourcesManager _ResManager;
32 SALOME_LoadRateManager _LoadManager;
33 SALOME_NamingService *_NS;
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);
41 void ShutdownContainers();
43 static const char *_ContainerManagerNameInNS;
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);