OpendTect  6.3
uimmbatchjobdispatch.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 Bril
7  Date: April 2002
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiiocommon.h"
13 #include "uidialog.h"
14 
15 class Timer;
16 class Executor;
17 class JobRunner;
18 class HostDataList;
19 class od_ostream;
20 class uiLabel;
21 class uiSlider;
22 class uiListBox;
23 class uiTextEdit;
24 class uiGenInput;
25 class uiComboBox;
26 class uiProgressBar;
27 class uiTextFileDlg;
28 
29 
32 public:
34  const HelpKey& helpkey=mNoHelpKey );
36 
37  static bool initMMProgram(int argc,char** argv,IOPar& jobpars);
38 
39 protected:
40 
41  uiGroup* specparsgroup_; // for subclass
42  virtual bool initWork(bool retry) = 0;
43  virtual bool prepareCurrentJob() { return true; }
44  virtual Executor* getPostProcessor() const { return 0; }
45  virtual bool haveTmpProcFiles() const { return false; }
46  virtual bool removeTmpProcFiles() { return true; }
47  virtual bool needConfirmEarlyStop() const { return jobrunner_; }
48  virtual bool recoverFailedWrapUp() const { return false; }
49 
50  void enableJobControl(bool);
51 
59  mutable uiString errmsg_;
60 
61  inline bool isMultiHost() const { return avmachfld_; }
62  int nrSelMachs() const;
63  bool isPaused() const;
64  const char* curUsedMachName();
65  int runnerHostIdx(const char*) const;
66 
67 private:
68 
79 
80  bool retFullFailGoOnMsg();
81  bool rejectOK();
82  bool acceptOK();
83 
84  void initWin(CallBacker*);
85  void doCycle(CallBacker*);
86  void addPush(CallBacker*);
87  void stopPush(CallBacker*);
88  void vwLogPush(CallBacker*);
89  void jrpSel(CallBacker*);
90  void jobPrep(CallBacker*);
91  void jobStart(CallBacker*);
92  void jobFail(CallBacker*);
93  void infoMsgAvail(CallBacker*);
94 
95  void startWork(CallBacker*);
96  bool ready4WrapUp(bool&) const;
97  void handleJobPausing();
98  void updateAliveDisp();
99  void updateCurMachs();
100  void clearAliveDisp();
101  bool wrapUp();
102  void removeTempResults();
103 
104 };
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Definition: uitextedit.h:73
#define mNoHelpKey
Definition: uidialog.h:37
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
JobRunner * jobrunner_
Definition: uimmbatchjobdispatch.h:57
Definition: uislider.h:40
virtual bool removeTmpProcFiles()
Definition: uimmbatchjobdispatch.h:46
Definition: uitextfile.h:76
uiGenInput * jrpstopfld_
Definition: uimmbatchjobdispatch.h:77
uiLabel * jrpworklbl_
Definition: uimmbatchjobdispatch.h:78
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
uiSlider * priofld_
Definition: uimmbatchjobdispatch.h:73
IOPar & jobpars_
Definition: uimmbatchjobdispatch.h:52
virtual bool recoverFailedWrapUp() const
Definition: uimmbatchjobdispatch.h:48
uiListBox * usedmachfld_
Definition: uimmbatchjobdispatch.h:70
virtual bool needConfirmEarlyStop() const
Definition: uimmbatchjobdispatch.h:47
virtual bool haveTmpProcFiles() const
Definition: uimmbatchjobdispatch.h:45
uiProgressBar * progbar_
Definition: uimmbatchjobdispatch.h:74
Combo box.
Definition: uicombobox.h:30
Definition: uistring.h:88
Definition: uiparent.h:24
uiGroup * specparsgroup_
Definition: uimmbatchjobdispatch.h:41
Definition: helpview.h:47
Definition: uidialog.h:40
List of host names in the system. The first entry will be the local host.
Definition: hostdata.h:111
List Box.
Definition: uilistbox.h:73
Definition: uiprogressbar.h:18
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
bool isMultiHost() const
Definition: uimmbatchjobdispatch.h:61
int nrcyclesdone_
Definition: uimmbatchjobdispatch.h:55
General Input Element.
Definition: uigeninput.h:56
uiString basecaption_
Definition: uimmbatchjobdispatch.h:56
virtual bool prepareCurrentJob()
Definition: uimmbatchjobdispatch.h:43
uiGenInput * jrpstartfld_
Definition: uimmbatchjobdispatch.h:76
od_ostream * logstrm_
Definition: uimmbatchjobdispatch.h:58
uiTextFileDlg * logvwer_
Definition: uimmbatchjobdispatch.h:72
Runs all jobs defined by JobDescProv.
Definition: jobrunner.h:52
Definition: uilabel.h:22
virtual Executor * getPostProcessor() const
Definition: uimmbatchjobdispatch.h:44
uiString errmsg_
Definition: uimmbatchjobdispatch.h:59
uiComboBox * jrppolselfld_
Definition: uimmbatchjobdispatch.h:75
uiListBox * avmachfld_
Definition: uimmbatchjobdispatch.h:69
const HostDataList & hdl_
Definition: uimmbatchjobdispatch.h:53
Timer * timer_
Definition: uimmbatchjobdispatch.h:54
bool acceptOK()
confirm accept
Timer class.
Definition: timer.h:24
bool rejectOK()
confirm reject
Definition: uimmbatchjobdispatch.h:30
uiTextEdit * progrfld_
Definition: uimmbatchjobdispatch.h:71
Specification to enable chunkwise execution of a process.
Definition: executor.h:38

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