The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
|
#include <cOperation.h>
Public Member Functions | |
virtual | ~cOperation ()=0 |
virtual cOperation * | createInstance (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 |
Definition at line 80 of file cOperation.h.
|
protected |
The standardconstructor for the operation. It will create the operation, but won't start it.
operationId | the identifer for the operation |
szOperationDomain | the type of individuals on which the operation will run |
|
pure virtual |
Destructor of the class cOperation.
|
pure virtual |
This method creats a new instance of this operator. Beware: You have to delete the instance after usage.
operationId | the identifer for the 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 |
|
virtual |
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 |
|
virtual |
|
virtual |
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.
pOperationRunStatusListener | a pointer to the operation running status listener object to add to the set of operation running listeners |
|
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.
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.
|
staticprivate |
|
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.
bInIsRunning | the value, if this operation is running |
|
staticprivate |
This function sleeps for a short period.
|
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.
|
virtual |
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.
pOperationRunStatusListener | a pointer to the operation running status listener object to removes from the set of operation running listeners |
|
private |
If true the operation has run, else not.
Definition at line 133 of file cOperation.h.
|
private |
If true the operation is running, else not.
Definition at line 128 of file cOperation.h.
|
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.
|
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.
|
protected |
A value for the cpu -time this operation runs.
Definition at line 152 of file cOperation.h.
|
private |
Mutex variable for handling the set with the operation status change listeners (
Definition at line 108 of file cOperation.h.
|
private |
Mutex variable for changing the operation run status in one step.
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.
|
protected |
The identifier for the operation.
Definition at line 147 of file cOperation.h.
|
private |
The tread for running the operation.
Definition at line 122 of file cOperation.h.
|
private |
The set with pointers to objects, which want's to be notified if the operation running status changes.
Definition at line 330 of file cOperation.h.
|
private |
The last time the cpu -time was evalued. This is needed to evalue the
Definition at line 159 of file cOperation.h.