RingBuffer Class Reference

#include <ringbuffer.h>

List of all members.

Public Member Functions

 RingBuffer (size_t size, bool synchronized=false)
 ~RingBuffer ()
bool resize (size_t new_size)
size_t addData (const char *src, size_t size)
size_t takeData (char *dst, size_t size, bool lock=true)
char * getFreeSpace (size_t &size)
size_t removeFreeSpace (size_t size)
char * getData (size_t &size)
size_t removeData (size_t size)
size_t getSize () const
size_t getFillSize () const
size_t getFreeSize () const
void clear ()
void lockTransaction () const
void unlockTransaction () const

Protected Member Functions

void lock () const
void unlock () const

Protected Attributes

char * m_Buffer
size_t m_Start
size_t m_Size
size_t m_FillSize
bool m_synchronized
QSemaphore m_synchronizer
QSemaphore m_transactionSynchronizer


Detailed Description

Definition at line 29 of file ringbuffer.h.


Constructor & Destructor Documentation

RingBuffer::RingBuffer ( size_t  size,
bool  synchronized = false 
)

RingBuffer::~RingBuffer (  ) 


Member Function Documentation

size_t RingBuffer::addData ( const char *  src,
size_t  size 
)

void RingBuffer::clear (  ) 

char* RingBuffer::getData ( size_t &  size  ) 

size_t RingBuffer::getFillSize (  )  const

size_t RingBuffer::getFreeSize (  )  const

char* RingBuffer::getFreeSpace ( size_t &  size  ) 

size_t RingBuffer::getSize (  )  const

void RingBuffer::lock (  )  const [protected]

void RingBuffer::lockTransaction (  )  const

size_t RingBuffer::removeData ( size_t  size  ) 

size_t RingBuffer::removeFreeSpace ( size_t  size  ) 

bool RingBuffer::resize ( size_t  new_size  ) 

size_t RingBuffer::takeData ( char *  dst,
size_t  size,
bool  lock = true 
)

void RingBuffer::unlock (  )  const [protected]

void RingBuffer::unlockTransaction (  )  const


Member Data Documentation

char* RingBuffer::m_Buffer [protected]

Definition at line 59 of file ringbuffer.h.

size_t RingBuffer::m_FillSize [protected]

Definition at line 61 of file ringbuffer.h.

size_t RingBuffer::m_Size [protected]

Definition at line 61 of file ringbuffer.h.

size_t RingBuffer::m_Start [protected]

Definition at line 60 of file ringbuffer.h.

bool RingBuffer::m_synchronized [protected]

Definition at line 64 of file ringbuffer.h.

QSemaphore RingBuffer::m_synchronizer [mutable, protected]

Definition at line 65 of file ringbuffer.h.

QSemaphore RingBuffer::m_transactionSynchronizer [mutable, protected]

Definition at line 66 of file ringbuffer.h.


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

Generated on Tue Jun 2 19:20:00 2009 for kradio4 by  doxygen 1.5.8