]> SALOME platform Git repositories - modules/yacs.git/blob - idl/SALOME_ContainerManager.idl
Salome HOME
PR: merge from branch BR_UnitTests tag mergeto_trunk_17oct05
[modules/yacs.git] / idl / SALOME_ContainerManager.idl
1 #ifndef _SALOME_CONTAINERMANAGER_IDL_
2 #define _SALOME_CONTAINERMANAGER_IDL_
3
4 #include "SALOME_Exception.idl"
5 #include "SALOME_Component.idl"
6
7 module Engines
8 {
9
10 /*!
11     Type to describe properties of wanted resource.
12 */
13 struct MachineParameters
14 {
15   string container_name;
16   string hostname;
17   string OS;
18   long mem_mb;
19   long cpu_clock;
20   long nb_proc_per_node;
21   long nb_node;
22   boolean isMPI;
23 };
24
25 /*!
26     Type to transmit list of machines.
27 */
28   typedef sequence<string> MachineList;
29
30 /*!
31     exception thrown if a computer is not found in the catalog
32 */
33   exception NotFound {};
34
35
36 /*! \brief Interface of the %containerManager
37     This interface is used for interaction with the unique instance
38     of ContainerManager
39 */
40   interface ContainerManager
41   {
42     Container FindOrStartContainer( in MachineParameters params,
43                                     in MachineList possibleComputers);
44
45     string FindBest(in MachineList possibleComputers);
46
47     MachineList GetFittingResources( in MachineParameters params,
48                                      in string componentName )
49       raises (SALOME::SALOME_Exception);
50
51     void Shutdown();
52
53     void ShutdownContainers();
54   } ;
55 };
56   
57 #endif