X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSALOME_ContainerManager.idl;h=9f6ae2297ca2d3e7fdb384372d4634cdffbc2554;hb=6d28eef5383c39a56291493bd979631155208116;hp=4d9192b5188e825469dbc384a59fc371b662e7bf;hpb=35960e77d7f9f2a5cac7d6550c23f12943bc4378;p=modules%2Fkernel.git diff --git a/idl/SALOME_ContainerManager.idl b/idl/SALOME_ContainerManager.idl index 4d9192b51..9f6ae2297 100644 --- a/idl/SALOME_ContainerManager.idl +++ b/idl/SALOME_ContainerManager.idl @@ -1,76 +1,81 @@ -// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 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 +// 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 +// +// 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 +// 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/ +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #ifndef _SALOME_CONTAINERMANAGER_IDL_ #define _SALOME_CONTAINERMANAGER_IDL_ #include "SALOME_Exception.idl" #include "SALOME_Component.idl" +#include "SALOME_ResourcesManager.idl" + +/*! \file SALOME_ContainerManager.idl \brief interfaces for %SALOME Container Manager service +*/ module Engines { -/*! - Type to describe properties of wanted resource. -*/ -struct MachineParameters +//! Type to describe required properties of a container +struct ContainerParameters { + //! container name if given else automatic string container_name; - string hostname; - string OS; - long mem_mb; - long cpu_clock; - long nb_proc_per_node; - long nb_node; - boolean isMPI; -}; -/*! - Type to transmit list of machines. -*/ - typedef sequence MachineList; + //! creation mode for GiveContainer if given else automatic + /*!start creates a new container + * get try to find an existing container + * getorstart use an existing container if it exists or creates a new one + */ + string mode; -/*! - exception thrown if a computer is not found in the catalog -*/ - exception NotFound {}; + //! container working directory if given else automatic + string workingdir; + + // Parallel part + //! Number of proc of a parallel container + long nb_proc; + //! if true start a MPI container + boolean isMPI; + //! PaCO specific informations + string parallelLib; + //! Parameters to choose a resource + ResourceParameters resource_params; +}; /*! \brief Interface of the %containerManager This interface is used for interaction with the unique instance of ContainerManager */ - interface ContainerManager - { - Container FindOrStartContainer( in MachineParameters params, - in MachineList possibleComputers); - - string FindBest(in MachineList possibleComputers); - - MachineList GetFittingResources( in MachineParameters params, - in string componentName ) - raises (SALOME::SALOME_Exception); +interface ContainerManager +{ + //! GiveContainer - use mode parameter of ContainerParameters to configure + //! how this method works + //! Currently: get, start, getorstart, findorstart, find + Container GiveContainer(in ContainerParameters params) raises (SALOME::SALOME_Exception); - void Shutdown(); + //! Shutdown all containers that have been launched by the container manager + void ShutdownContainers(); +} ; - void ShutdownContainers(); - } ; }; #endif