MDSTk Libraries
1.1.0
Medical Data Segmentation Toolkit
|
Channel over shared memory. More...
#include <mdsChannel.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. | |
CSharedMemChannel (int Type, const std::string &ssName) | |
Constructor. | |
virtual void | disconnect () |
Disconnects from the opossite channel side. | |
virtual bool | flush () |
Finalizes all writing/reading operations (flushes internal buffers, etc.). | |
char * | getDataPtr () |
Returns current pointer to the remaining (unread) data. | |
int | getMedium () const |
Returns the channel medium. | |
int | getReferencesCount () const |
Returns the number of references. | |
mds::sys::CSharedMem * | getSharedMemPtr () |
Returns pointer to the shared memory. | |
int | getType () const |
Method returns the channel type. | |
virtual bool | isConnected () |
Method for testing channel errors such as: disconnected or broken channel, reading after end of input, etc. | |
bool | isOnHeap () const |
Returns true if the object is allocated on the heap. | |
virtual bool | listen (unsigned uTimeout=CH_CONNECTION_TIMEOUT) |
Listens for and accepts an incoming connection. | |
void | lock () |
Locks the object. | |
MDS_SHAREDPTR (CChannel) | |
Smart pointer type. | |
MDS_SHAREDPTR (CSharedMemChannel) | |
Smart pointer type. | |
virtual int | read (char *pcData, int iLength) |
Reads bytes from the input 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 data to the output channel. | |
virtual | ~CSharedMemChannel () |
Destructor. | |
Static Public Member Functions | |
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 Member Functions | |
void | addReference () const |
Increase the reference counter. | |
bool | delReference () const |
Decrease the reference counter. | |
Protected Attributes | |
int | m_iHeapObject |
Flag initialized if the object is on the heap. | |
int | m_iNumOfBytes |
The number of bytes remaining in the shared memory. | |
int | m_iReferences |
The number of references to the object. | |
int | m_Medium |
Channel medium. | |
char * | m_pcData |
Pointer to the data byte in the shared memory. | |
int * | m_piNumOfWrittenBytes |
Pointer to the number of bytes written to the shared memory. | |
mds::sys::CSemaphorePtr | m_spSemaphore |
Named semaphore used to lock the shared memory. | |
mds::sys::CSharedMemPtr | m_spSharedMem |
Shared memory. | |
int | m_Type |
Channel type. |
Channel over shared memory.
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.
mds::mod::CSharedMemChannel::CSharedMemChannel | ( | int | Type, |
const std::string & | ssName | ||
) |
Constructor.
mds::mod::CSharedMemChannel::~CSharedMemChannel | ( | ) | [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.
bool mds::mod::CSharedMemChannel::connect | ( | unsigned | uTimeout = CH_CONNECTION_TIMEOUT | ) | [virtual] |
Connects to the opposite channel side.
Implements mds::mod::CChannel.
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.
void mds::mod::CSharedMemChannel::disconnect | ( | ) | [virtual] |
Disconnects from the opossite channel side.
Implements mds::mod::CChannel.
bool mds::mod::CSharedMemChannel::flush | ( | ) | [virtual] |
Finalizes all writing/reading operations (flushes internal buffers, etc.).
Implements mds::mod::CChannel.
char* mds::mod::CSharedMemChannel::getDataPtr | ( | ) |
Returns current pointer to the remaining (unread) data.
int mds::mod::CChannel::getMedium | ( | ) | const [inherited] |
Returns the channel medium.
int mds::base::CObject::getReferencesCount | ( | ) | const [inherited] |
Returns the number of references.
Returns pointer to the shared memory.
int mds::mod::CChannel::getType | ( | ) | const [inherited] |
Method returns the channel type.
bool mds::mod::CSharedMemChannel::isConnected | ( | ) | [virtual] |
Method for testing channel errors such as: disconnected or broken channel, reading after end of input, etc.
Implements mds::mod::CChannel.
bool mds::base::CObject::isOnHeap | ( | ) | const [inherited] |
Returns true if the object is allocated on the heap.
bool mds::mod::CSharedMemChannel::listen | ( | unsigned | uTimeout = CH_CONNECTION_TIMEOUT | ) | [virtual] |
Listens for and accepts an incoming connection.
Implements mds::mod::CChannel.
void mds::base::CLockableObject< CChannel >::lock | ( | ) | [inherited] |
Locks the object.
mds::mod::CChannel::MDS_SHAREDPTR | ( | CChannel | ) | [inherited] |
Smart pointer type.
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::CSharedMemChannel::read | ( | char * | pcData, |
int | iLength | ||
) | [virtual] |
Reads bytes from the input channel.
Implements mds::mod::CChannel.
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.
bool mds::mod::CSharedMemChannel::skip | ( | int | iLength | ) | [virtual] |
Skips a given number of bytes.
Reimplemented from mds::mod::CChannel.
void mds::base::CLockableObject< CChannel >::unlock | ( | ) | [inherited] |
Locks the object.
bool mds::mod::CSharedMemChannel::wait | ( | unsigned | uTimeout = CH_WAIT_TIMEOUT | ) | [virtual] |
Waits for data.
Implements mds::mod::CChannel.
bool mds::mod::CSharedMemChannel::write | ( | const char * | pcData, |
int | iLength | ||
) | [virtual] |
Writes data to the output channel.
Implements mds::mod::CChannel.
int mds::base::CObject::m_iHeapObject [mutable, protected, inherited] |
Flag initialized if the object is on the heap.
int mds::mod::CSharedMemChannel::m_iNumOfBytes [protected] |
The number of bytes remaining in the shared memory.
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::CSharedMemChannel::m_pcData [protected] |
Pointer to the data byte in the shared memory.
int* mds::mod::CSharedMemChannel::m_piNumOfWrittenBytes [protected] |
Pointer to the number of bytes written to the shared memory.
Named semaphore used to lock the shared memory.
Shared memory.
int mds::mod::CChannel::m_Type [protected, inherited] |
Channel type.