+// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/
+//
#ifndef _SALOME_CONTAINERMANAGER_IDL_
#define _SALOME_CONTAINERMANAGER_IDL_
+#include "SALOME_Exception.idl"
#include "SALOME_Component.idl"
module Engines
/*!
Type to describe properties of wanted resource.
*/
-struct MachineParameters {
+struct MachineParameters
+{
string container_name;
string hostname;
string OS;
long cpu_clock;
long nb_proc_per_node;
long nb_node;
+ boolean isMPI;
};
/*!
*/
typedef sequence<string> MachineList;
+/*!
+ exception thrown if a computer is not found in the catalog
+*/
+ exception NotFound {};
+
+
/*! \brief Interface of the %containerManager
- This interface is used for interaction with the unique instance of ContainerManager
+ This interface is used for interaction with the unique instance
+ of ContainerManager
*/
interface ContainerManager
{
- Container FindOrStartContainer( in string containerName, in MachineList possibleComputers);
+ Container FindOrStartContainer( in MachineParameters params,
+ in MachineList possibleComputers);
+
string FindBest(in MachineList possibleComputers);
- MachineList GetFittingResources( in MachineParameters params, in string componentName );
+
+ MachineList GetFittingResources( in MachineParameters params,
+ in string componentName )
+ raises (SALOME::SALOME_Exception);
+
void Shutdown();
+
void ShutdownContainers();
} ;
};