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
 //
 // 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.
       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;
 
   */
   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.
   //! 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;
       \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
   /*! 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);
 
   */
   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);
 
   */
   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
   //! 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