OpendTect  6.3
batchjobdispatch.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: Dec 2013
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "generalmod.h"
13 #include "factory.h"
14 #include "oscommand.h"
15 #include "iopar.h"
16 #include "uistring.h"
17 
18 
19 namespace Batch
20 {
21 
25 { mODTextTranslationClass(JobSpec);
26 public:
27 
28  enum ProcType { NonODBase, Attrib, AttribEM, Grid2D,
29  PreStack, SEGY, T2D, TwoDto3D, VelConv, Vol };
30 
31  JobSpec(ProcType);
32  JobSpec(const char* pnm=0);
33  JobSpec(const IOPar&);
34 
35  static const char* progNameFor(ProcType);
36  static ProcType procTypeFor(const char*);
37 
42 
43  void usePar(const IOPar&);
44  void fillPar(IOPar&) const;
45 
46 };
47 
48 
68 { mODTextTranslationClass(JobDispatcher);
69 public:
70 
72 
73  virtual ~JobDispatcher() {}
74 
75  virtual uiString description() const = 0;
76  virtual bool isSuitedFor(const char* prognm) const = 0;
77  virtual bool canHandle(const JobSpec&) const;
78  virtual bool canResume(const JobSpec&) const { return false; }
79 
80  bool go(const JobSpec&);
81  uiString errMsg() const { return errmsg_; }
82 
83  mDefineFactoryInClass(JobDispatcher,factory);
84 
85  static void getDefParFilename(const char* prognm,BufferString&);
87  { getDefParFilename(jobspec_.prognm_,parfnm_); }
88 
89  static void getJobNames(BufferStringSet&);
90  static BufferString getJobName(const char*);
91  void setJobName(const char*);
92  BufferString jobName() const { return getJobName(parfnm_.buf()); }
93 
94  static void setUserWantsResume(IOPar&,bool);
95  static bool userWantsResume(const IOPar&);
96 
99 
100 protected:
101 
102  virtual bool init() { return true; }
103  virtual bool launch() = 0;
104 
105  mutable uiString errmsg_;
106 
107  bool writeParFile() const;
108 
109 };
110 
111 } // namespace Batch
#define mExpClass(module)
Definition: commondefs.h:157
Represents a grid of 2D lines in an Inl-Crl plane.
Definition: grid2d.h:25
BufferString parfnm_
Definition: batchjobdispatch.h:98
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
Specifies how to execute a command.
Definition: oscommand.h:31
BufferString clargs_
Definition: batchjobdispatch.h:39
virtual bool canResume(const JobSpec &) const
Definition: batchjobdispatch.h:78
virtual bool init()
Definition: batchjobdispatch.h:102
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
Base class (with factory) for methods to kick-off an OD batch job.
Definition: batchjobdispatch.h:67
Definition: prestackagc.h:18
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
OS::CommandExecPars execpars_
just a hint for some dispatchers
Definition: batchjobdispatch.h:41
the data we need to specify an OD batch job.
Definition: batchjobdispatch.h:24
uiString errmsg_
Definition: batchjobdispatch.h:105
BufferString prognm_
Definition: batchjobdispatch.h:38
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
JobSpec jobspec_
Definition: batchjobdispatch.h:97
void setToDefParFileName()
Definition: batchjobdispatch.h:86
JobDispatcher()
Definition: batchjobdispatch.h:71
uiString errMsg() const
Definition: batchjobdispatch.h:81
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:424
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
BufferString jobName() const
Definition: batchjobdispatch.h:92
Definition: batchjobdispatch.h:19
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
IOPar pars_
Definition: batchjobdispatch.h:40
BufferString errmsg_
Definition: horizontracker.h:117
Definition: seistype.h:31
Keys that should be used with od_process_segyio.cc.
Definition: segybatchio.h:18
ProcType
Definition: batchjobdispatch.h:28
Semblance Attribute.
Definition: attribdataholder.h:21
virtual ~JobDispatcher()
Definition: batchjobdispatch.h:73

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017