Version: 8.3.0
SALOME_Launcher.idl
Go to the documentation of this file.
1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 #ifndef _SALOME_LAUNCHER_IDL_
24 #define _SALOME_LAUNCHER_IDL_
25 
26 #include "SALOME_Exception.idl"
28 
32 module Engines
33 {
34 
36 typedef sequence<string> FilesList;
37 
39 struct Parameter
40 {
41  string name;
42  string value;
43 };
45 typedef sequence<Engines::Parameter> ParameterList;
46 
48 {
50  string job_name;
51 
53 
58  string job_type;
59 
60  // Common values
62 
67  string job_file;
68 
70 
72  string env_file;
73 
75 
79  FilesList in_files;
80 
82 
89  FilesList out_files;
90 
92 
103 
105 
109 
111 
118 
120 
124 
126 
132 
134  string queue;
135 
137  boolean exclusive;
138 
140  unsigned long mem_per_cpu;
141 
143  string wckey;
144 
146  string extra_params;
147 
149 
161 
166 };
167 
169 {
170  long job_id;
172 };
173 typedef sequence<Engines::JobDescription> JobsList;
174 
176 {
177  void notify(in string event_name, in string event_data);
178 };
179 
181 
188 interface SalomeLauncher
189 {
190  // Main methods
192 
195  long createJob (in Engines::JobParameters job_parameters) raises (SALOME::SALOME_Exception);
196 
198 
203  void launchJob (in long job_id) raises (SALOME::SALOME_Exception);
204 
206 
210  string getJobState (in long job_id) raises (SALOME::SALOME_Exception);
211 
213  string getAssignedHostnames (in long job_id) raises (SALOME::SALOME_Exception);
214 
217 
228  void getJobResults(in long job_id, in string directory) raises (SALOME::SALOME_Exception);
229 
231 
244  boolean getJobDumpState(in long job_id, in string directory) raises (SALOME::SALOME_Exception);
245 
247 
260  boolean getJobWorkFile(in long job_id, in string work_file, in string directory) raises (SALOME::SALOME_Exception);
261 
263  void stopJob (in long job_id) raises (SALOME::SALOME_Exception);
265  void removeJob (in long job_id) raises (SALOME::SALOME_Exception);
266 
267  // Useful methods
268  long createJobWithFile(in string xmlJobFile, in string clusterName) raises (SALOME::SALOME_Exception);
269  boolean testBatch (in ResourceParameters params) raises (SALOME::SALOME_Exception);
270 
271  // SALOME kernel service methods
273  void Shutdown();
275  long getPID();
276 
277  // Observer and introspection methods
279  void addObserver(in Engines::SalomeLauncherObserver observer);
280  void removeObserver(in Engines::SalomeLauncherObserver observer);
281  Engines::JobsList getJobsList();
282  Engines::JobParameters getJobParameters(in long job_id) raises (SALOME::SALOME_Exception);
283 
284  // Save and load methods
286  void loadJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
288  void saveJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
289 
290 };
291 
292 };
293 
294 #endif