Version: 7.8.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 
158 
163 };
164 
166 {
167  long job_id;
169 };
170 typedef sequence<Engines::JobDescription> JobsList;
171 
173 {
174  void notify(in string event_name, in string event_data);
175 };
176 
178 
185 interface SalomeLauncher
186 {
187  // Main methods
189 
192  long createJob (in Engines::JobParameters job_parameters) raises (SALOME::SALOME_Exception);
193 
195 
200  void launchJob (in long job_id) raises (SALOME::SALOME_Exception);
201 
203 
207  string getJobState (in long job_id) raises (SALOME::SALOME_Exception);
208 
210  string getAssignedHostnames (in long job_id) raises (SALOME::SALOME_Exception);
211 
214 
225  void getJobResults(in long job_id, in string directory) raises (SALOME::SALOME_Exception);
226 
228 
241  boolean getJobDumpState(in long job_id, in string directory) raises (SALOME::SALOME_Exception);
242 
244 
257  boolean getJobWorkFile(in long job_id, in string work_file, in string directory) raises (SALOME::SALOME_Exception);
258 
260  void stopJob (in long job_id) raises (SALOME::SALOME_Exception);
262  void removeJob (in long job_id) raises (SALOME::SALOME_Exception);
263 
264  // Useful methods
265  long createJobWithFile(in string xmlJobFile, in string clusterName) raises (SALOME::SALOME_Exception);
266  boolean testBatch (in ResourceParameters params) raises (SALOME::SALOME_Exception);
267 
268  // SALOME kernel service methods
270  void Shutdown();
272  long getPID();
273 
274  // Observer and introspection methods
276  void addObserver(in Engines::SalomeLauncherObserver observer);
277  void removeObserver(in Engines::SalomeLauncherObserver observer);
278  Engines::JobsList getJobsList();
279  Engines::JobParameters getJobParameters(in long job_id) raises (SALOME::SALOME_Exception);
280 
281  // Save and load methods
283  void loadJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
285  void saveJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
286 
287 };
288 
289 };
290 
291 #endif