xvr2::Pipeline< _Tp > Class Template Reference

#include <Pipeline.h>

Inheritance diagram for xvr2::Pipeline< _Tp >:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<typename _Tp = xvr2::String>
class xvr2::Pipeline< _Tp >

Definition at line 30 of file Pipeline.h.


Public Types

typedef PipelineFilter< _Tp > PipelineFilterT

Public Member Functions

 Pipeline ()
 Mandatory default constructor.
 ~Pipeline ()
void shutdown ()
 Turns off this Pipeline processing.
Reader write (const _Tp &val)
void addFilter (PipelineFilterT *f)
 Adds a new filtering function to the filtering vector.
void operator() ()
void run ()
 Very important
You must override this method so you can provide the thread process itself whatever you define this method does, in your subclass is what the thread will start doing when you call start()
virtual void start ()
 Call this method when you want to start running your thread, however please note that everytime you call this method, the thread will be spawned again as a totally new instance.
virtual void start (Threading::SchedPolicy pol)
bool isRunning ()
 Use this method to verify if your thread is running;.
void setPriority (int prio)
 Use this method to set the priority for the current scheduling policy.
UInt64 numericID ()
 This method will return a 32 bit integer representing the current thread.
UInt64 numericID () const
const bool started ()
const bool terminated ()
const bool running ()
const bool joinable ()
void join ()
void registerFinalizer (FinalizerCallback *f_cb)
 Registers a new finalization callback to be called when thread finalizes.
void registerCancellationCB (FinalizerCallback *f_cb)
 Registers a new cancellation callback to be called in the event of thread cancellation only.
void callFinalizers ()
 Calls each finalizer in reverse registration order.
void callCancellationCallbacks ()
 Calls each cancellation callback in reverse registration order.
void removeCancellationCBs ()
 Removes all cancellation callbacks without executing them.
virtual const char * getClassName ()
 Returns the name of the current class.
virtual std::string toString ()

Static Public Member Functions

static void debugmsg (Object *obj, const char *msg, int linenumber=__LINE__, const char *srcfile=__FILE__)
 Will print a debug message to the screen.
static void debugmsgln (Object *obj, const char *msg, int linenumber=__LINE__, const char *srcfile=__FILE__)

Public Attributes

SharedVar< bool > _started
 Status flag which determinates if the run method has been called from the thread after calling start.
SharedVar< bool > _terminated
 Status flag which determinates if the run method has finished its execution.

Protected Attributes

xvr2::Deque< taskpqueue
SharedVar< bool > is_active
xvr2::Vector< PipelineFilterT * > filter
xvr2::Map< Int64, bool, ltfones
 A map containing which tasks have been completed.
xvr2::Map< Int64, _Tp, ltdones
 A map containing filtering results.
bool _detached
std::deque< FinalizerCallback * > finalizers
 Doubly-ended queue which stores finalization callbacks.
std::deque< FinalizerCallback * > cancelCBs
 Doubly-ended queue which stores cancellation callbacks.
std::string __cls_name

Private Types

typedef Pipeline< _Tp > MyPipelineT

Private Attributes

Int64 id_counter

Friends

std::ostream & operator<< (std::ostream &stream, const Object &s)

Classes

struct  lt
class  Reader
struct  task

Member Typedef Documentation

template<typename _Tp = xvr2::String>
typedef PipelineFilter<_Tp> xvr2::Pipeline< _Tp >::PipelineFilterT

Definition at line 32 of file Pipeline.h.

template<typename _Tp = xvr2::String>
typedef Pipeline<_Tp> xvr2::Pipeline< _Tp >::MyPipelineT [private]

Definition at line 34 of file Pipeline.h.


Constructor & Destructor Documentation

template<typename _Tp = xvr2::String>
xvr2::Pipeline< _Tp >::Pipeline (  )  [inline]

Mandatory default constructor.

Definition at line 106 of file Pipeline.h.

References xvr2::Pipeline< _Tp >::id_counter.

template<typename _Tp = xvr2::String>
xvr2::Pipeline< _Tp >::~Pipeline (  )  [inline]

Definition at line 110 of file Pipeline.h.


Member Function Documentation

template<typename _Tp = xvr2::String>
void xvr2::Pipeline< _Tp >::shutdown (  )  [inline]

Turns off this Pipeline processing.

Definition at line 115 of file Pipeline.h.

References xvr2::Pipeline< _Tp >::is_active.

template<typename _Tp = xvr2::String>
Reader xvr2::Pipeline< _Tp >::write ( const _Tp &  val  )  [inline]

Definition at line 119 of file Pipeline.h.

References xvr2::Pipeline< _Tp >::id_counter, and xvr2::Pipeline< _Tp >::pqueue.

template<typename _Tp = xvr2::String>
void xvr2::Pipeline< _Tp >::addFilter ( PipelineFilterT f  )  [inline]

Adds a new filtering function to the filtering vector.

Definition at line 128 of file Pipeline.h.

References xvr2::Pipeline< _Tp >::filter.

template<typename _Tp = xvr2::String>
void xvr2::Pipeline< _Tp >::operator() ( void   )  [inline, virtual]

template<typename _Tp = xvr2::String>
void xvr2::Pipeline< _Tp >::run (  )  [inline, virtual]

Very important
You must override this method so you can provide the thread process itself whatever you define this method does, in your subclass is what the thread will start doing when you call start()

Deprecated:
use the operator()() method instead.

Implements xvr2::Thread.

Definition at line 168 of file Pipeline.h.

References xvr2::Pipeline< _Tp >::operator()().

Here is the call graph for this function:

virtual void xvr2::Thread::start (  )  [virtual, inherited]

Call this method when you want to start running your thread, however please note that everytime you call this method, the thread will be spawned again as a totally new instance.

virtual void xvr2::Thread::start ( Threading::SchedPolicy  pol  )  [virtual, inherited]

bool xvr2::Thread::isRunning (  )  [inherited]

Use this method to verify if your thread is running;.

void xvr2::Thread::setPriority ( int  prio  )  [inherited]

Use this method to set the priority for the current scheduling policy.

UInt64 xvr2::Thread::numericID (  )  [inherited]

This method will return a 32 bit integer representing the current thread.

UInt64 xvr2::Thread::numericID (  )  const [inherited]

const bool xvr2::Thread::started (  )  [inherited]

const bool xvr2::Thread::terminated (  )  [inherited]

const bool xvr2::Thread::running (  )  [inherited]

const bool xvr2::Thread::joinable (  )  [inherited]

void xvr2::Thread::join (  )  [inherited]

void xvr2::ThreadFinalizator::registerFinalizer ( FinalizerCallback f_cb  )  [inherited]

Registers a new finalization callback to be called when thread finalizes.

void xvr2::ThreadFinalizator::registerCancellationCB ( FinalizerCallback f_cb  )  [inherited]

Registers a new cancellation callback to be called in the event of thread cancellation only.

void xvr2::ThreadFinalizator::callFinalizers (  )  [inherited]

Calls each finalizer in reverse registration order.

Warning:
DO NOT CALL THIS METHOD DIRECTLY

void xvr2::ThreadFinalizator::callCancellationCallbacks (  )  [inherited]

Calls each cancellation callback in reverse registration order.

Warning:
DO NOT CALL THIS METHOD DIRECTLY

void xvr2::ThreadFinalizator::removeCancellationCBs (  )  [inherited]

Removes all cancellation callbacks without executing them.

Warning:
DO NOT CALL THIS METHOD DIRECTLY

virtual const char* xvr2::Object::getClassName (  )  [virtual, inherited]

Returns the name of the current class.

static void xvr2::Object::debugmsg ( Object obj,
const char *  msg,
int  linenumber = __LINE__,
const char *  srcfile = __FILE__ 
) [static, inherited]

Will print a debug message to the screen.

static void xvr2::Object::debugmsgln ( Object obj,
const char *  msg,
int  linenumber = __LINE__,
const char *  srcfile = __FILE__ 
) [static, inherited]

virtual std::string xvr2::Object::toString (  )  [virtual, inherited]


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  stream,
const Object s 
) [friend, inherited]


Member Data Documentation

template<typename _Tp = xvr2::String>
Int64 xvr2::Pipeline< _Tp >::id_counter [private]

Definition at line 35 of file Pipeline.h.

Referenced by xvr2::Pipeline< _Tp >::Pipeline(), and xvr2::Pipeline< _Tp >::write().

template<typename _Tp = xvr2::String>
xvr2::Deque<task> xvr2::Pipeline< _Tp >::pqueue [protected]

Definition at line 58 of file Pipeline.h.

Referenced by xvr2::Pipeline< _Tp >::operator()(), and xvr2::Pipeline< _Tp >::write().

template<typename _Tp = xvr2::String>
SharedVar<bool> xvr2::Pipeline< _Tp >::is_active [protected]

template<typename _Tp = xvr2::String>
xvr2::Vector< PipelineFilterT* > xvr2::Pipeline< _Tp >::filter [protected]

template<typename _Tp = xvr2::String>
xvr2::Map<Int64, bool, lt> xvr2::Pipeline< _Tp >::fones [protected]

A map containing which tasks have been completed.

Definition at line 67 of file Pipeline.h.

Referenced by xvr2::Pipeline< _Tp >::Reader::finished(), and xvr2::Pipeline< _Tp >::operator()().

template<typename _Tp = xvr2::String>
xvr2::Map<Int64, _Tp, lt> xvr2::Pipeline< _Tp >::dones [protected]

A map containing filtering results.

Definition at line 69 of file Pipeline.h.

Referenced by xvr2::Pipeline< _Tp >::operator()(), and xvr2::Pipeline< _Tp >::Reader::read().

bool xvr2::Thread::_detached [protected, inherited]

Definition at line 37 of file Thread.h.

SharedVar<bool> xvr2::Thread::_started [inherited]

Status flag which determinates if the run method has been called from the thread after calling start.

Definition at line 41 of file Thread.h.

Status flag which determinates if the run method has finished its execution.

Definition at line 44 of file Thread.h.

std::deque<FinalizerCallback *> xvr2::ThreadFinalizator::finalizers [protected, inherited]

Doubly-ended queue which stores finalization callbacks.

Definition at line 27 of file ThreadFinalizator.h.

std::deque<FinalizerCallback *> xvr2::ThreadFinalizator::cancelCBs [protected, inherited]

Doubly-ended queue which stores cancellation callbacks.

Definition at line 29 of file ThreadFinalizator.h.

std::string xvr2::Object::__cls_name [protected, inherited]

Definition at line 30 of file Object.h.


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

Generated on Fri Jun 20 22:55:55 2008 for X-VR2 SDK by  doxygen 1.5.5