Version: 8.3.0
MESHJOB.idl
Go to the documentation of this file.
1 // Copyright (C) 2011-2016 EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 
20 // Authors : Guillaume Boulant (EDF) - 31/01/2011
21 
22 #ifndef _MESHJOB_IDL_
23 #define _MESHJOB_IDL_
24 
25 #include "SALOME_Exception.idl"
26 #include "SALOME_Component.idl"
27 
28 //
29 // This interface is used for mesh job submission from within the
30 // SALOME plugin for PADDER.
31 //
32 module MESHJOB
33 {
34 
35  //
36  // Structure to transmit the parameters requiered for the job to run
37  // the executable program on the target resource. See configure
38  // service.
39  //
40  struct ConfigParameter {
41  string resname; // The name of the SALOME resource to be used
42  string binpath; // The path of the executable program on this resource
43  string envpath; // The path of the environment file on this resource
44  };
45 
46  //
47  // This set of specification defines the data structure used to
48  // initialize a job on a specific resource, then supervise the job
49  // and finally retrieve the result data.
50  //
51 
52  // This defines the set of temporary folders used by the jobmanager
53  // when executing a job (may depend on the job).
54  struct MeshJobPaths
55  {
59  };
60 
61  // This defines the possible types for a job parameter
63 
64  // This defines a single parameter for the job initialization (a med file)
65  struct MeshJobFile
66  {
67  string file_name;
69  string group_name;
70  };
71 
72  // This defines a set of parameters for the job initialization
73  typedef sequence<MESHJOB::MeshJobFile> MeshJobFileList;
74 
75  // This defines a single parameter for the job initialization
77  {
78  string name;
79  string value;
80  };
81 
82  // This defines a set of parameters for the job initialization
83  typedef sequence<MESHJOB::MeshJobParameter> MeshJobParameterList;
84 
85  // This defines the result data of a job
87  {
90  boolean status;
91  };
92 
93  // This defines the possible states of a job
95 
96  //
97  // This interface defines the computation services of the component
98  //
99 
100  interface MeshJobManager: Engines::EngineComponent
101  {
102 
106  boolean configure(in string configId, in MESHJOB::ConfigParameter configParameter)
107  raises (SALOME::SALOME_Exception);
108 
110  long initialize(in MESHJOB::MeshJobFileList meshJobFileList,
111  in MESHJOB::MeshJobParameterList MeshJobParameterList,
112  in string configId)
113  raises (SALOME::SALOME_Exception);
114 
116  boolean start(in long jobId)
117  raises (SALOME::SALOME_Exception);
118 
120  string getState(in long jobId)
121  raises (SALOME::SALOME_Exception);
122 
124  MeshJobResults finalize(in long jobid)
125  raises (SALOME::SALOME_Exception);
126 
128  boolean clean(in long jobId)
129  raises (SALOME::SALOME_Exception);
130 
132  MeshJobPaths getPaths(in long jobId)
133  raises (SALOME::SALOME_Exception);
134 
136  string getLastErrorMessage();
137  };
138 
139 };
140 
141 #endif // _MESHJOB_IDL_