The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
enviroment::cOperation Class Reference

#include <cOperation.h>

Inheritance diagram for enviroment::cOperation:
Collaboration diagram for enviroment::cOperation:

List of all members.

Public Member Functions

virtual ~cOperation ()=0
virtual cOperationcreateInstance (const cOperationIdentifier &operationId) const =0
virtual bool start ()
virtual bool run ()
virtual bool stop ()
virtual bool isRunning () const
virtual bool hasRun () const
double getCpuRunTime () const
virtual std::string getName () const
virtual const
cOperationIdentifier
getOperationIdentifier () const
bool registerOperationRunStatusListener (ciOperationStatusChange *pOperationRunStatusListener)
bool unregisterOperationRunStatusListener (ciOperationStatusChange *pOperationRunStatusListener)

Public Attributes

const std::string OPERATION_DOMAIN

Protected Member Functions

 cOperation (const cOperationIdentifier &operationId, std::string szOperationDomain="cIndividual")
bool setIsRunning (bool bInIsRunning)

Protected Attributes

bool bStop
cOperationIdentifier operationIdentifier
double dRunningTime

Static Private Member Functions

static void * runTread (void *inputArg)
static void shortSleep ()

Private Attributes

pthread_mutex_t mutexOperationStatusChange
pthread_mutex_t mutexRunStatusChange
pthread_t * pThreadOperator
bool bIsRunning
bool bHasRun
clock_t tmLastCpuRunTime
bool bOperationStartedInRoot
std::set
< ciOperationStatusChange * > 
setOperationListeners

Detailed Description

Definition at line 80 of file cOperation.h.


Constructor & Destructor Documentation

enviroment::cOperation::cOperation ( const cOperationIdentifier operationId,
std::string  szOperationDomain = "cIndividual" 
)
protected

The standardconstructor for the operation. It will create the operation, but won't start it.

Parameters:
operationIdthe identifer for the operation
szOperationDomainthe type of individuals on which the operation will run
virtual enviroment::cOperation::~cOperation ( )
pure virtual

Destructor of the class cOperation.


Member Function Documentation

virtual cOperation* enviroment::cOperation::createInstance ( const cOperationIdentifier operationId) const
pure virtual

This method creats a new instance of this operator. Beware: You have to delete the instance after usage.

Parameters:
operationIdthe identifer for the operation
Returns:
a pointer to a new instance of this operation

Implemented in enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4Border, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderOrg, enviroment::fib::cInitOperator, enviroment::fib::cOp2DFibFindEvenPartAreaN, enviroment::fib::cOp2DFibFindEvenPartAreaNOrg, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4Border, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaN, enviroment::fib::cOp2DFibFindSimilarPartAreaNOrg, enviroment::fib::cOpFindSimilarLineNBi2, enviroment::fib::cOp2DFibFindEvenAreaN, enviroment::fib::cOp2DFibFindEvenAreaNOrg, enviroment::fib::cOp2DFibFindEvenPartArea, enviroment::fib::cOp2DFibFindEvenPartAreaOrg, enviroment::fib::cOp2DFibFindSimilarAreaN, enviroment::fib::cOp2DFibFindSimilarAreaNOrg, enviroment::fib::cOpFindEvenLineN, enviroment::fib::cOpFindEvenLineNBi, enviroment::fib::cOpFindSimilarLineN, enviroment::fib::cOpFindSimilarLineNBi, enviroment::fib::cOpAddBackgroundWichReduceMuchProperties, enviroment::fib::cOp2DFibFindEvenArea, enviroment::fib::cOp2DFibFindEvenAreaOrg, enviroment::fib::cOpFindEvenLine, enviroment::fib::cOpFindSimilarLine, enviroment::fib::cOpFindSimilarLineAll2, enviroment::fib::cOpFindEvenLineAll, enviroment::fib::cOpFindSimilarLineAll, enviroment::fib::cOpCorrectWrongPoints, enviroment::fib::cOpDummy, enviroment::fib::cOpRemoveOverwrittenUnderObjects, and enviroment::fib::cOperationFib.

double enviroment::cOperation::getCpuRunTime ( ) const
Returns:
A value for the cpu -time this operation runs.;
See also:
isRunning() gives back true for this time
dRunningTime
virtual std::string enviroment::cOperation::getName ( ) const
virtual
Returns:
the (class-)name of the operation

Reimplemented in enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4Border, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderOrg, enviroment::fib::cInitOperator, enviroment::fib::cOp2DFibFindEvenPartAreaN, enviroment::fib::cOp2DFibFindEvenPartAreaNOrg, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4Border, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaN, enviroment::fib::cOp2DFibFindSimilarPartAreaNOrg, enviroment::fib::cOpFindSimilarLineNBi2, enviroment::fib::cOp2DFibFindEvenAreaN, enviroment::fib::cOp2DFibFindEvenAreaNOrg, enviroment::fib::cOp2DFibFindEvenPartArea, enviroment::fib::cOp2DFibFindEvenPartAreaOrg, enviroment::fib::cOp2DFibFindSimilarAreaN, enviroment::fib::cOp2DFibFindSimilarAreaNOrg, enviroment::fib::cOpFindEvenLineN, enviroment::fib::cOpFindEvenLineNBi, enviroment::fib::cOpFindSimilarLineN, enviroment::fib::cOpFindSimilarLineNBi, enviroment::fib::cOpAddBackgroundWichReduceMuchProperties, enviroment::fib::cOp2DFibFindEvenArea, enviroment::fib::cOp2DFibFindEvenAreaOrg, enviroment::fib::cOpFindEvenLine, enviroment::fib::cOpFindSimilarLine, enviroment::fib::cOpFindSimilarLineAll2, enviroment::fib::cOpFindEvenLineAll, enviroment::fib::cOpFindSimilarLineAll, enviroment::fib::cOpCorrectWrongPoints, enviroment::fib::cOpDummy, and enviroment::fib::cOpRemoveOverwrittenUnderObjects.

virtual const cOperationIdentifier* enviroment::cOperation::getOperationIdentifier ( ) const
virtual
See also:
operationIdentifier
Returns:
the identifier for this operation
virtual bool enviroment::cOperation::hasRun ( ) const
virtual
See also:
bHasRun
bIsRunning
run()
start()
stop()
Returns:
true the operation has run, else not
virtual bool enviroment::cOperation::isRunning ( ) const
virtual
See also:
bIsRunning
run()
start()
stop()
Returns:
true if this operation is running, else false
bool enviroment::cOperation::registerOperationRunStatusListener ( ciOperationStatusChange pOperationRunStatusListener)

This method adds the given operation running status listener object to the set of running status listener objects. Listeners of the set gets notified if the running status of this object/ operation changes.

See also:
unregisterOperationRunStatusListener()
setOperationListeners
ciOperationStatusChange
Parameters:
pOperationRunStatusListenera pointer to the operation running status listener object to add to the set of operation running listeners
Returns:
true if the operation running listener was added, else false
virtual bool enviroment::cOperation::run ( )
virtual

This method runs the operation. It will wait till the operation is ended befor returning. Overwrite this or the start() method to implement the operation. Beware: If overwriten call setIsRunning( false ), when the operation is done.

See also:
start()
stop()
setIsRunning()
Returns:
true if the operation was started

Reimplemented in enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindEvenPartAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderItrFast, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderItrFastOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindSimilarPartAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindEvenAreaNSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4Border, enviroment::fib::cOp2DFibFindEvenPartAreaSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4Border, enviroment::fib::cOp2DFibFindSimilarAreaNSplineMax4BorderOrg, enviroment::fib::cInitOperator, enviroment::fib::cOp2DFibFindEvenPartAreaN, enviroment::fib::cOp2DFibFindEvenPartAreaNOrg, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4Border, enviroment::fib::cOp2DFibFindEvenAreaSplineMax4BorderOrg, enviroment::fib::cOp2DFibFindSimilarPartAreaN, enviroment::fib::cOp2DFibFindSimilarPartAreaNOrg, enviroment::fib::cOpFindSimilarLineNBi2, enviroment::fib::cOp2DFibFindEvenAreaN, enviroment::fib::cOp2DFibFindEvenAreaNOrg, enviroment::fib::cOp2DFibFindEvenPartArea, enviroment::fib::cOp2DFibFindEvenPartAreaOrg, enviroment::fib::cOp2DFibFindSimilarAreaN, enviroment::fib::cOp2DFibFindSimilarAreaNOrg, enviroment::fib::cOpFindEvenLineN, enviroment::fib::cOpFindEvenLineNBi, enviroment::fib::cOpFindSimilarLineN, enviroment::fib::cOpFindSimilarLineNBi, enviroment::fib::cOpAddBackgroundWichReduceMuchProperties, enviroment::fib::cOp2DFibFindEvenArea, enviroment::fib::cOp2DFibFindEvenAreaOrg, enviroment::fib::cOpFindEvenLine, enviroment::fib::cOpFindSimilarLine, enviroment::fib::cOpFindSimilarLineAll2, enviroment::fib::cOpFindEvenLineAll, enviroment::fib::cOpFindSimilarLineAll, enviroment::fib::cOpCorrectWrongPoints, enviroment::fib::cOpDummy, and enviroment::fib::cOpRemoveOverwrittenUnderObjects.

static void* enviroment::cOperation::runTread ( void *  inputArg)
staticprivate

This method runs the operation for a tread. It will wait till the operation is ended befor returning. It will simply call run().

See also:
run()
start()
stop()
bool enviroment::cOperation::setIsRunning ( bool  bInIsRunning)
protected

This method sets the value if this operation is running to the given value. It notifies allso objects which listen to operation status changes.

See also:
isRunning
Parameters:
bInIsRunningthe value, if this operation is running
Returns:
the new value, if this operation is running
static void enviroment::cOperation::shortSleep ( )
staticprivate

This function sleeps for a short period.

virtual bool enviroment::cOperation::start ( )
virtual

This method starts the operation and returns. It dosn't wait till the operation is ended for returning. Overwrite this or the run() method to implement the operation. Beware: If overwriten call setIsRunning( false ), when the operation is done.

See also:
run()
stop()
setIsRunning()
Returns:
true if the operation was started
virtual bool enviroment::cOperation::stop ( )
virtual

This method stops the operation and returns.

See also:
bStop
run()
start()
Returns:
true if this operation is stoped, else false
bool enviroment::cOperation::unregisterOperationRunStatusListener ( ciOperationStatusChange pOperationRunStatusListener)

This method removes the given operation running status listener object from the set of running status listener objects. Listeners of the set gets notified if the running status of this object/ operation changes.

See also:
registerOperationRunStatusListener()
setOperationListeners
ciOperationStatusChange
Parameters:
pOperationRunStatusListenera pointer to the operation running status listener object to removes from the set of operation running listeners
Returns:
true if the operation running listener was removed, else false

Member Data Documentation

bool enviroment::cOperation::bHasRun
private

If true the operation has run, else not.

Definition at line 133 of file cOperation.h.

bool enviroment::cOperation::bIsRunning
private

If true the operation is running, else not.

Definition at line 128 of file cOperation.h.

bool enviroment::cOperation::bOperationStartedInRoot
private

If the run() or start() method of this class cOperation was called this filed is true. It should stop cyclic class of run() and start();

Definition at line 323 of file cOperation.h.

bool enviroment::cOperation::bStop
protected

If true the operation should be stoped, else not. Beware: Check this variable in your operation implementation and stop the execution if the variable is true.

Definition at line 142 of file cOperation.h.

double enviroment::cOperation::dRunningTime
protected

A value for the cpu -time this operation runs.

Definition at line 152 of file cOperation.h.

pthread_mutex_t enviroment::cOperation::mutexOperationStatusChange
private

Mutex variable for handling the set with the operation status change listeners (

See also:
setOperationListeners ).

Definition at line 108 of file cOperation.h.

pthread_mutex_t enviroment::cOperation::mutexRunStatusChange
private

Mutex variable for changing the operation run status in one step.

See also:
bIsRunning
bHasRun

Definition at line 115 of file cOperation.h.

const std::string enviroment::cOperation::OPERATION_DOMAIN

The type of individuals on which the operation will run.

Definition at line 184 of file cOperation.h.

cOperationIdentifier enviroment::cOperation::operationIdentifier
protected

The identifier for the operation.

Definition at line 147 of file cOperation.h.

pthread_t* enviroment::cOperation::pThreadOperator
private

The tread for running the operation.

See also:
start()
run()

Definition at line 122 of file cOperation.h.

std::set< ciOperationStatusChange * > enviroment::cOperation::setOperationListeners
private

The set with pointers to objects, which want's to be notified if the operation running status changes.

See also:
ciOperationStatusChange

Definition at line 330 of file cOperation.h.

clock_t enviroment::cOperation::tmLastCpuRunTime
private

The last time the cpu -time was evalued. This is needed to evalue the

See also:
dRunningTime .

Definition at line 159 of file cOperation.h.


The documentation for this class was generated from the following file: