IControlObject Class Referenceabstract

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.