kradio4 r778
Public Member Functions | Protected Member Functions | Protected Attributes
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:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines