OpendTect-6_4  6.4
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ExecutorGroup Class Reference

Executor consisting of other executors. More...

Inheritance diagram for ExecutorGroup:
[legend]

Public Member Functions

 ExecutorGroup (const char *nm, bool parallel=false, bool ownsexecs=true)
 
virtual ~ExecutorGroup ()
 
virtual void add (Executor *)
 
uiString uiMessage () const
 will be message() again in 7.x More...
 
virtual int64_t totalNr () const
 
virtual int64_t nrDone () const
 
uiString uiNrDoneText () const
 will be nrDoneText() in 7.x More...
 
int nrExecutors ()
 
ExecutorgetExecutor (int idx)
 
void setNrDoneText (const uiString &txt)
 If set, will use this and the counted nrdone. More...
 
- Public Member Functions inherited from Executor
 Executor (const char *nm)
 
virtual ~Executor ()
 
virtual int doStep ()
 
bool go (od_ostream *s=0, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
 
bool go (od_ostream &s, bool isfirst=true, bool islast=true, int delaybtwnstepsinms=0)
 
virtual bool execute ()
 
- Public Member Functions inherited from SequentialTask
 SequentialTask (const char *nm=0)
 
virtual ~SequentialTask ()
 
void setProgressMeter (ProgressMeter *)
 Must be called before execute() More...
 
ProgressMeterprogressMeter ()
 
const ProgressMeterprogressMeter () const
 
bool execute ()
 
- Public Member Functions inherited from Task
virtual ~Task ()
 
virtual void enableWorkControl (bool=true)
 Must be called before execute() More...
 
bool workControlEnabled () const
 
virtual void controlWork (Control)
 
virtual Control getState () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=0)
 
 NamedObject (const NamedObject *linkedto)
 
 NamedObject (const NamedObject &)
 
virtual ~NamedObject ()
 
void setLinkedTo (NamedObject *)
 
bool operator== (const NamedObject &oth) const
 
virtual const OD::Stringname () const
 
virtual const OD::StringannotName () const
 
virtual void setName (const char *)
 
void setCleanName (const char *)
 cleans string first More...
 
void deleteNotify (const CallBack &)
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false)
 
bool attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false)
 
void detachCB (NotifierAccess &, const CallBack &)
 
void detachCB (NotifierAccess *notif, const CallBack &cb)
 
bool isNotifierAttached (NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 

Protected Member Functions

virtual int nextStep ()
 
virtual bool goToNextExecutor ()
 
void findNextSumStop ()
 
- Protected Member Functions inherited from Executor
virtual bool goImpl (od_ostream *, bool, bool, int)
 
- Protected Member Functions inherited from Task
 Task (const char *nm=0)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 

Protected Attributes

int sumstart_
 
int sumstop_
 
const bool parallel_
 
int currentexec_
 
uiString nrdonetext_
 
ObjectSet< Executor > & executors_
 
TypeSet< int > executorres_
 
bool ownsexecs_
 
- Protected Attributes inherited from SequentialTask
ProgressMeterprogressmeter_
 
int lastupdate_
 
- Protected Attributes inherited from Task
Control control_
 
Threads::ConditionVarworkcontrolcondvar_
 
- Protected Attributes inherited from NamedObject
BufferStringname_
 
NamedObjectlinkedto_
 
CallBackSetdelnotify_
 

Additional Inherited Members

- Public Types inherited from Task
enum  Control { Run, Pause, Stop }
 
- Static Public Member Functions inherited from SequentialTask
static int ErrorOccurred ()
 
static int Finished ()
 
static int MoreToDo ()
 
static int WarningAvailable ()
 
- Static Public Member Functions inherited from Task
static uiString stdNrDoneText ()
 
static uiString uiStdNrDoneText ()
 
- Public Attributes inherited from Executor
Notifier< Executorprestep
 
Notifier< Executorpoststep
 Only when MoreToDo will be returned. More...
 

Detailed Description

Executor consisting of other executors.

Executors may be added on the fly while processing. Depending on the parallel flag, the executors are executed in the order in which they were added or in parallel (but still single-threaded).

Constructor & Destructor Documentation

ExecutorGroup::ExecutorGroup ( const char *  nm,
bool  parallel = false,
bool  ownsexecs = true 
)
virtual ExecutorGroup::~ExecutorGroup ( )
virtual

Member Function Documentation

virtual void ExecutorGroup::add ( Executor )
virtual

You will become mine if ownsexecs_ is true!!

void ExecutorGroup::findNextSumStop ( )
protected
Executor* ExecutorGroup::getExecutor ( int  idx)
inline
virtual bool ExecutorGroup::goToNextExecutor ( )
protectedvirtual
virtual int ExecutorGroup::nextStep ( )
protectedvirtual
Return values
MoreToDo()Not finished. Call me again.
Finished()Nothing more to do.
ErrorOccurred()Something went wrong.
Note
if function returns a value greater than cMoreToDo(), it should be interpreted as cMoreToDo().

Implements SequentialTask.

Reimplemented in EM::dgbSurfaceWriter, and EM::dgbSurfaceReader.

virtual int64_t ExecutorGroup::nrDone ( ) const
virtual
Note
nrDone is only used for displaying progress and will be compared to totalNr to show user how large part of the task that is finished.

Reimplemented from Task.

Reimplemented in EM::dgbSurfaceWriter, EM::dgbSurfaceReader, and Horizon2DGridCreator.

int ExecutorGroup::nrExecutors ( )
inline
void ExecutorGroup::setNrDoneText ( const uiString txt)
inline

If set, will use this and the counted nrdone.

virtual int64_t ExecutorGroup::totalNr ( ) const
virtual

Reimplemented from Task.

Reimplemented in EM::dgbSurfaceWriter, EM::dgbSurfaceReader, and Horizon2DGridCreator.

uiString ExecutorGroup::uiMessage ( ) const
virtual

will be message() again in 7.x

Note
totalNr is only used for displaying progress.

Reimplemented from Task.

Reimplemented in EM::dgbSurfaceWriter, and EM::dgbSurfaceReader.

uiString ExecutorGroup::uiNrDoneText ( ) const
virtual

will be nrDoneText() in 7.x

Reimplemented from Task.

Reimplemented in EM::dgbSurfaceWriter, EM::dgbSurfaceReader, Horizon2DGridCreator, and Seis2DGridCreator.

Member Data Documentation

int ExecutorGroup::currentexec_
protected
TypeSet<int> ExecutorGroup::executorres_
protected
ObjectSet<Executor>& ExecutorGroup::executors_
protected
uiString ExecutorGroup::nrdonetext_
protected
bool ExecutorGroup::ownsexecs_
protected
const bool ExecutorGroup::parallel_
protected
int ExecutorGroup::sumstart_
protected
int ExecutorGroup::sumstop_
protected

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