Salome HOME
add 'context' command
[modules/kernel.git] / idl / SALOME_Launcher.idl
index c3ad69051fbd8924ce36496e591289e4060ba27e..012c855a45a023b45f4ad7b47c7337c0cb89fc80 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015  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
@@ -93,6 +93,11 @@ struct JobParameters
       the stuff to run the job. Note that the job will be executed from within
       this directory. A change directory toward this working directory is done
       by the batch system before running the job.
+      If not specified (empty string), the launcher will use the working
+      directory of the chosen ressource and if this is also an empty string
+      the value used will be $HOME/Batch/workdir_"date" where $HOME is the
+      value of the environment variable on the remote ressource and "date" is
+      the current date.
   */
   string work_directory;
 
@@ -105,6 +110,8 @@ struct JobParameters
   //! Local directory where to get result files.
   /*! It must be used to specify where to download the output files on the
       local file system.
+      If not specified (empty string), the value of $HOME environment variable
+      will be used.
       \see SalomeLauncher::getJobResults
   */
   string result_directory;
@@ -188,8 +195,7 @@ interface SalomeLauncher
   /*! Launching the job consists of:
       - create the working directory on the remote file system
       - copy the input files into the working directory
-      - source the environment file if defined
-      - run the job
+      - submit the job to the batch manager
   */
   void   launchJob    (in long job_id)                           raises (SALOME::SALOME_Exception);
 
@@ -234,6 +240,22 @@ interface SalomeLauncher
   */
   boolean getJobDumpState(in long job_id, in string directory)   raises (SALOME::SALOME_Exception);
 
+  //! Retrieve one sigle file from the working directory.
+  /*! Use this method if you don't want to copy all the results of the job,
+      for instance if you want to obtain a file which contains the computing
+      progress while the job is running.
+     \param job_id    Job id returned by createJob().
+     \param work_file Path to the file to be copied, relative to the
+                      working directory of the job. If it is a directory,
+                      it will be copied recursively.
+     \param directory Local directory where to copy the file.
+                      If this value is an empty string (""), the file will be
+                      copied to the directory given by
+                      JobParameters::result_directory.
+     \return 1 if the copy succeeds.
+  */
+  boolean getJobWorkFile(in long job_id, in string work_file, in string directory)   raises (SALOME::SALOME_Exception);
+
   //! Kill the job and set its state to "FAILED"
   void   stopJob      (in long job_id)                           raises (SALOME::SALOME_Exception);
   //! Kill the job and remove it from the jobs list