OpendTect  6.3
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 message () const
 
virtual int64_t totalNr () const
 
virtual int64_t nrDone () const
 
uiString nrDoneText () const
 
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 uiRetVal errorWithDetails () const
 
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 NamedCallBacker
 NamedCallBacker (const char *nm=0)
 
 NamedCallBacker (const NamedCallBacker &)
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
virtual bool isCapsule () const
 
void stopReceivingNotifications () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=0)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual const OD::Stringname () const
 
virtual BufferString getName () const
 
virtual void setName (const char *nm)
 
bool getNameFromPar (const IOPar &)
 
void putNameInPar (IOPar &) const
 

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 NamedCallBacker
void sendDelNotif () const
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers () const
 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 NamedCallBacker
Notifier< NamedCallBackerdelnotif_
 
Threads::Atomic< bool > delalreadytriggered_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

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 stdMessage ()
 
static uiString stdNrDoneText ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 
- 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
uiString ExecutorGroup::message ( ) const
virtual

Implements Executor.

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

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
only used for displaying progress.

Implements Executor.

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

uiString ExecutorGroup::nrDoneText ( ) const
virtual
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.

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. 2017