MDSTk Libraries
1.1.0
Medical Data Segmentation Toolkit
|
Class providing 16-bit RLE compression. More...
#include <mdsRLECompressor.h>
Public Types | |
enum | { CLASS_OBJECT } |
Templates that require members of the CObject class can use this enum to check the existence. More... | |
enum | { HEAP_OBJECT = 0x70616568 } |
Signature used to recognize objects on the heap. More... | |
typedef mds::base::CLibraryLockableObject < CChannel >::CLock | tLock |
Lock that have to be used to provide mutual access to write(), read() and etc. | |
Public Member Functions | |
bool | checkMedium (int Medium) const |
Checks if channel medium is equal to a given value. | |
bool | checkType (int Type) const |
Checks if channel type corresponds to a given value. | |
virtual bool | connect (unsigned uTimeout=CH_CONNECTION_TIMEOUT) |
Connects to the opposite channel side. | |
CRLE16Compressor (CChannel *pChannel=NULL) | |
Constructor. | |
virtual void | disconnect () |
Disconnects from the opossite channel side. | |
virtual bool | flush () |
Finalizes all writing operations (flushes internal buffers, etc.). | |
CChannel * | getChannel () |
Returns pointer to the input/output channel. | |
int | getCompressionMethod () const |
Returns the compression method. | |
int | getMedium () const |
Returns the channel medium. | |
int | getReferencesCount () const |
Returns the number of references. | |
int | getType () const |
Method returns the channel type. | |
virtual bool | isConnected () |
Method for testing channel errors such as: | |
bool | isOnHeap () const |
Returns true if the object is allocated on the heap. | |
virtual bool | listen (unsigned uTimeout=CH_CONNECTION_TIMEOUT) |
Listens for the opposite channel side. | |
void | lock () |
Locks the object. | |
MDS_SHAREDPTR (CChannelCompressor) | |
Smart pointer type. | |
MDS_SHAREDPTR (CRLE16Compressor) | |
Smart pointer type. | |
MDS_SHAREDPTR (CChannel) | |
Smart pointer type. | |
virtual int | read (char *pcData, int iLength) |
Reads and decompresses data from the input channel. | |
virtual void | setChannel (CChannel *pChannel) |
Sets the input/output channel. | |
virtual bool | skip (int iLength) |
Skips a given number of bytes. | |
void | unlock () |
Locks the object. | |
virtual bool | wait (unsigned uTimeout=CH_WAIT_TIMEOUT) |
Waits for data. | |
virtual bool | write (const char *pcData, int iLength) |
Writes compressed data to the output channel. | |
virtual | ~CRLE16Compressor () |
Destructor. | |
Static Public Member Functions | |
static CChannelCompressor * | create (int CompressionMethod, CChannel *pChannel) |
Channel compressor creation function. | |
static CChannel * | create (EChannelType eType, const std::string &sDesc) |
Creation of a channel which is described by a textual string. | |
static void * | operator new (std::size_t Size) |
Allocates a new object on the heap. | |
static void | separate (const std::string &sDescs, std::vector< std::string > &Descs) |
Parses a given string and separates descriptions of several channels. | |
Protected Types | |
enum | { BUFFER_SIZE = 0x7F } |
Size of the internal buffer. More... | |
enum | EState { S_BEGIN, S_FIRST, S_COMPRESSIBLE, S_UNCOMPRESSIBLE } |
RLE compressor states. More... | |
Protected Member Functions | |
void | addReference () const |
Increase the reference counter. | |
bool | delReference () const |
Decrease the reference counter. | |
Protected Attributes | |
int | m_ChannelCompression |
Compression method. | |
int | m_iHeapObject |
Flag initialized if the object is on the heap. | |
int | m_iNumOfUnreadBytes |
The number of remaining unread words in the last block. | |
int | m_iReferences |
The number of references to the object. | |
int | m_Medium |
Channel medium. | |
char | m_pcBuffer [2 *BUFFER_SIZE+1] |
Helper array of data bytes. | |
CChannelPtr | m_spChannel |
Output/input channel. | |
int | m_Type |
Channel type. |
Class providing 16-bit RLE compression.
typedef mds::base::CLibraryLockableObject<CChannel>::CLock mds::mod::CChannel::tLock [inherited] |
anonymous enum [inherited] |
Templates that require members of the CObject class can use this enum to check the existence.
enum mds::mod::CRLE16Compressor::EState [protected] |
mds::mod::CRLE16Compressor::CRLE16Compressor | ( | CChannel * | pChannel = NULL | ) |
Constructor.
mds::mod::CRLE16Compressor::~CRLE16Compressor | ( | ) | [virtual] |
Destructor.
void mds::base::CObject::addReference | ( | ) | const [protected, inherited] |
Increase the reference counter.
bool mds::mod::CChannel::checkMedium | ( | int | Medium | ) | const [inherited] |
Checks if channel medium is equal to a given value.
bool mds::mod::CChannel::checkType | ( | int | Type | ) | const [inherited] |
Checks if channel type corresponds to a given value.
virtual bool mds::mod::CChannelCompressor::connect | ( | unsigned | uTimeout = CH_CONNECTION_TIMEOUT | ) | [virtual, inherited] |
Connects to the opposite channel side.
Implements mds::mod::CChannel.
CChannelCompressor * mds::mod::CChannelCompressor::create | ( | int | CompressionMethod, |
CChannel * | pChannel | ||
) | [static, inherited] |
Channel compressor creation function.
CChannel * mds::mod::CChannel::create | ( | EChannelType | eType, |
const std::string & | sDesc | ||
) | [static, inherited] |
Creation of a channel which is described by a textual string.
bool mds::base::CObject::delReference | ( | ) | const [protected, inherited] |
Decrease the reference counter.
virtual void mds::mod::CChannelCompressor::disconnect | ( | ) | [virtual, inherited] |
Disconnects from the opossite channel side.
Implements mds::mod::CChannel.
virtual bool mds::mod::CChannelCompressor::flush | ( | ) | [virtual, inherited] |
Finalizes all writing operations (flushes internal buffers, etc.).
Implements mds::mod::CChannel.
Reimplemented in mds::mod::CGZipCompressor.
CChannel* mds::mod::CChannelCompressor::getChannel | ( | ) | [inherited] |
Returns pointer to the input/output channel.
int mds::mod::CChannelCompressor::getCompressionMethod | ( | ) | const [inherited] |
Returns the compression method.
int mds::mod::CChannel::getMedium | ( | ) | const [inherited] |
Returns the channel medium.
int mds::base::CObject::getReferencesCount | ( | ) | const [inherited] |
Returns the number of references.
int mds::mod::CChannel::getType | ( | ) | const [inherited] |
Method returns the channel type.
virtual bool mds::mod::CChannelCompressor::isConnected | ( | ) | [virtual, inherited] |
Method for testing channel errors such as:
Implements mds::mod::CChannel.
bool mds::base::CObject::isOnHeap | ( | ) | const [inherited] |
Returns true if the object is allocated on the heap.
virtual bool mds::mod::CChannelCompressor::listen | ( | unsigned | uTimeout = CH_CONNECTION_TIMEOUT | ) | [virtual, inherited] |
Listens for the opposite channel side.
Implements mds::mod::CChannel.
void mds::base::CLockableObject< CChannel >::lock | ( | ) | [inherited] |
Locks the object.
mds::mod::CChannelCompressor::MDS_SHAREDPTR | ( | CChannelCompressor | ) | [inherited] |
Smart pointer type.
Smart pointer type.
mds::mod::CChannel::MDS_SHAREDPTR | ( | CChannel | ) | [inherited] |
Smart pointer type.
static void* mds::base::CObject::operator new | ( | std::size_t | Size | ) | [static, inherited] |
Allocates a new object on the heap.
int mds::mod::CRLE16Compressor::read | ( | char * | pcData, |
int | iLength | ||
) | [virtual] |
Reads and decompresses data from the input channel.
Implements mds::mod::CChannelCompressor.
void mds::mod::CChannel::separate | ( | const std::string & | sDescs, |
std::vector< std::string > & | Descs | ||
) | [static, inherited] |
Parses a given string and separates descriptions of several channels.
virtual void mds::mod::CChannelCompressor::setChannel | ( | CChannel * | pChannel | ) | [virtual, inherited] |
Sets the input/output channel.
Reimplemented in mds::mod::CDensityCompressor.
bool mds::mod::CChannel::skip | ( | int | iLength | ) | [virtual, inherited] |
Skips a given number of bytes.
Reimplemented in mds::mod::CSharedMemChannel, and mds::mod::CMemoryChannel.
void mds::base::CLockableObject< CChannel >::unlock | ( | ) | [inherited] |
Locks the object.
virtual bool mds::mod::CChannelCompressor::wait | ( | unsigned | uTimeout = CH_WAIT_TIMEOUT | ) | [virtual, inherited] |
Waits for data.
Implements mds::mod::CChannel.
bool mds::mod::CRLE16Compressor::write | ( | const char * | pcData, |
int | iLength | ||
) | [virtual] |
Writes compressed data to the output channel.
Implements mds::mod::CChannelCompressor.
int mds::mod::CChannelCompressor::m_ChannelCompression [protected, inherited] |
Compression method.
int mds::base::CObject::m_iHeapObject [mutable, protected, inherited] |
Flag initialized if the object is on the heap.
int mds::mod::CRLE16Compressor::m_iNumOfUnreadBytes [protected] |
The number of remaining unread words in the last block.
int mds::base::CObject::m_iReferences [mutable, protected, inherited] |
The number of references to the object.
int mds::mod::CChannel::m_Medium [protected, inherited] |
Channel medium.
char mds::mod::CRLE16Compressor::m_pcBuffer[2 *BUFFER_SIZE+1] [protected] |
Helper array of data bytes.
CChannelPtr mds::mod::CChannelCompressor::m_spChannel [protected, inherited] |
Output/input channel.
int mds::mod::CChannel::m_Type [protected, inherited] |
Channel type.