PosixQueues::ConsumerQueueInterface< X > Class Template Reference

#include <queueinterface.h>


Detailed Description

template<class X>
class PosixQueues::ConsumerQueueInterface< X >

Definition at line 66 of file queueinterface.h.


Public Member Functions

virtual void wait ()=0
 Basic interface.
virtual void lock (const char *why, const char *file, int line)=0
virtual int size ()=0
virtual const X * first ()=0
virtual void discardFirst ()=0
void discardAll ()
virtual void unlock ()=0
virtual void setSignalSemaphore (PosixConstructs::PosixSemaphore *semaphore)=0
 Advanced interface.
virtual void useLocalSemaphore ()=0
virtual void setInterests (MyInterests< X > *i)=0
virtual ~ConsumerQueueInterface ()
template<class Y>
const Y * firstAs ()
template<class Y>
std::vector< Y > cloneContentL ()

Constructor & Destructor Documentation

template<class X>
virtual PosixQueues::ConsumerQueueInterface< X >::~ConsumerQueueInterface (  )  [inline, virtual]

Definition at line 97 of file queueinterface.h.


Member Function Documentation

template<class X>
virtual void PosixQueues::ConsumerQueueInterface< X >::wait (  )  [pure virtual]

Basic interface.

Waits for new data to come, using a local semaphore.

template<class X>
virtual void PosixQueues::ConsumerQueueInterface< X >::lock ( const char *  why,
const char *  file,
int  line 
) [pure virtual]

template<class X>
virtual int PosixQueues::ConsumerQueueInterface< X >::size (  )  [pure virtual]

These methods should be called only when lock acquired. If lock acquired these methods do not block.

Referenced by PosixQueues::ConsumerQueueInterface< X >::cloneContentL(), PosixQueues::ConsumerQueueInterface< X >::discardAll(), and PosixQueues::ConsumerQueueInterface< X >::firstAs().

template<class X>
virtual const X* PosixQueues::ConsumerQueueInterface< X >::first (  )  [pure virtual]

template<class X>
virtual void PosixQueues::ConsumerQueueInterface< X >::discardFirst (  )  [pure virtual]

template<class X>
void PosixQueues::ConsumerQueueInterface< X >::discardAll (  )  [inline]

Definition at line 81 of file queueinterface.h.

References PosixQueues::ConsumerQueueInterface< X >::discardFirst(), and PosixQueues::ConsumerQueueInterface< X >::size().

Here is the call graph for this function:

template<class X>
virtual void PosixQueues::ConsumerQueueInterface< X >::unlock (  )  [pure virtual]

template<class X>
virtual void PosixQueues::ConsumerQueueInterface< X >::setSignalSemaphore ( PosixConstructs::PosixSemaphore *  semaphore  )  [pure virtual]

Advanced interface.

This is needed to make a thread capable of waiting on multiple queues. The caller continues to own the pointer.

template<class X>
virtual void PosixQueues::ConsumerQueueInterface< X >::useLocalSemaphore (  )  [pure virtual]

Revert to original policy

template<class X>
virtual void PosixQueues::ConsumerQueueInterface< X >::setInterests ( MyInterests< X > *  i  )  [pure virtual]

Set filter on objects. The caller continues to own the pointer.

template<class X>
template<class Y>
const Y* PosixQueues::ConsumerQueueInterface< X >::firstAs (  )  [inline]

Utilities

Definition at line 100 of file queueinterface.h.

References PosixQueues::ConsumerQueueInterface< X >::first(), queueNoNo(), and PosixQueues::ConsumerQueueInterface< X >::size().

Here is the call graph for this function:

template<class X>
template<class Y>
std::vector<Y> PosixQueues::ConsumerQueueInterface< X >::cloneContentL (  )  [inline]

Thread-safe function to clone content with bit-a-bit copy

Definition at line 111 of file queueinterface.h.

References PosixQueues::ConsumerQueueInterface< X >::discardFirst(), LOCK, PosixQueues::ConsumerQueueInterface< X >::size(), and PosixQueues::ConsumerQueueInterface< X >::unlock().

Here is the call graph for this function:


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

Generated on Tue Mar 3 15:05:43 2009 for OpenRDK by  doxygen 1.5.6