Salome HOME
Updated copyright comment
[samples/genericsolver.git] / idl / DEVIATION_Gen.idl
index 78cac6cedec8bcbf028b99fcdb8cae8b356427b6..cb773f3f4a8399223a6ee421e41e8f28b33d65e5 100644 (file)
@@ -1,22 +1,20 @@
-//  Copyright (C) 2009-2010 EDF R&D
+// Copyright (C) 2009-2024  EDF
 //
-//  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 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, or (at your option) any later version.
 //
-//  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.
+// 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
+// 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/ or email : webmaster.salome@opencascade.com
-//
-//  $Id$
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef __DEVIATION_GEN__
 #include "SALOME_Component.idl"
 #include "SALOMEDS.idl"
 #include "SALOME_Exception.idl"
+#include "SALOME_Parametric.idl"
 
 module GENERICSOLVER_ORB
 {
-
-  typedef sequence<double> Value;
-  typedef sequence<string> VarList;
-  typedef sequence<Value> ValueList;
-
-  struct InputDescription {
-    VarList inputVarList;
-    VarList outputVarList;
-    ValueList inputValues;
-  };
-
-  interface DEVIATION_Gen : Engines::Component, SALOMEDS::Driver
+  interface DEVIATION_Gen : Engines::EngineComponent, SALOMEDS::Driver
   {
 
     /**
@@ -52,24 +40,25 @@ module GENERICSOLVER_ORB
      * identify them in future calls to Exec.
      *
      * @param studyID        the identifier of the study containing the deterministic data
-     * @param entry          the identifier of the deterministic case within the study
+     * @param detCaseEntry   the identifier of the deterministic case within the study
      */
-    void Init(in long studyID, in SALOMEDS::ID entry)
+    void Init(in long studyID, in SALOMEDS::ID detCaseEntry)
       raises (SALOME::SALOME_Exception);
 
     /**
      * @brief Execute a computation with a given sample of variables.
      *
      * The Exec method realizes the computation with the probabilistic variables
-     * described in inputDesc and the deterministic variables set previously with
-     * the Init method. The result is put in outputValues in the order specified by
-     * inputDesc.outputVarList.
+     * described in paramInput and the deterministic variables set previously with
+     * the Init method. The result is put in paramOutput in the order specified by
+     * paramInput.outputVarList.
      *
-     * @param inputDesc     a structure describing the probabilistic variables and the order
-     *                      of the output variables.
-     * @param outputValues  the result of the computation
+     * @param paramInput   a structure describing the probabilistic variables and the order
+     *                     of the output variables.
+     * @param paramOutput  a structure containing the result of the computation
      */
-    void Exec(in InputDescription inputDesc, out ValueList outputValues)
+    void Exec(in SALOME_TYPES::ParametricInput paramInput,
+              out SALOME_TYPES::ParametricOutput paramOutput)
       raises (SALOME::SALOME_Exception);
 
     /**
@@ -81,6 +70,33 @@ module GENERICSOLVER_ORB
     void Finalize()
       raises (SALOME::SALOME_Exception);
 
+    /**
+     * @brief Return the files and directories that must be transferred
+     *        from / to the computation resource
+     *
+     * This method is used to specify which files and directories must be
+     * transferred to the computation resource for the calculation code, and
+     * which resulting files and directories must be transferred from the
+     * computation resource to the local computer.
+     *
+     * @param studyID      the identifier of the study containing the
+     *                     deterministic data
+     * @param detCaseEntry the identifier of the deterministic case within the
+     *                     study
+     * @param inputFiles   the list of input files and directories to transfer
+     *                     from the local computer to the computation resource
+     *                     (absolute paths on the local computer)
+     * @param outputFiles  the list of output files and directories that must
+     *                     be transferred from the computation resource to the
+     *                     local computer after the computation (paths
+     *                     relative to the working directory on the
+     *                     computation resource)
+     */
+    void GetFilesToTransfer(in long studyID, in SALOMEDS::ID detCaseEntry,
+                            out SALOMEDS::ListOfStrings inputFiles,
+                            out SALOMEDS::ListOfStrings outputFiles)
+      raises (SALOME::SALOME_Exception);
+
   };
 };