Control object are used to get status information of extensive processing step and/or to interrupt those processing steps. More...

#include "IControlObject.hpp"

+ Inheritance diagram for IControlObject:

Public Member Functions

virtual IControlObjectclone () const =0
virtual void stepCount (int64_t stepCount)=0
 set overall step count
virtual int64_t stepCount () const =0
 get overall step count
virtual void currentStep (int64_t currStep)=0
 set current step
virtual void increaseCurrentStep (int64_t incCount=1)=0
 increase current step
virtual int64_t currentStep () const =0
 get current step
virtual double currentStepPercentage () const =0
 returns current step in [%]
virtual void interrupt (bool flag)=0
 set the interrupt flag
virtual bool interrupted () const =0
 returns the interrupt flag
virtual void finish (bool flag)=0
 set the finished flag
virtual bool finished () const =0
 returns the finished flag
- Public Member Functions inherited from ObjectBase
virtual void Delete ()

Static Public Member Functions

static IControlObjectNewStdOut (bool clearAfterFinish=false, int updatePrecision=0)
 creates an control object for the standard output
static IControlObjectNewStdOut (void *callbackObj, bool(*isInterrupted)(void *), void(*setStepCount)(void *, long long), void(*setCurrStep)(void *, long long), bool clearAfterFinish=false, int updatePrecision=0)
 creates an control object for the standard output with callbacks
static IControlObjectNewSilent ()
 creates an 'silent' control object which doesn't make any output
static IControlObjectNewSilent (void *callbackObj, bool(*isInterrupted)(void *), void(*setStepCount)(void *, long long), void(*setCurrStep)(void *, long long))
 creates an 'silent' control object which doesn't make any output but with callbacks

Detailed Description

Control object are used to get status information of extensive processing step and/or to interrupt those processing steps.