fsf::CCharBuffer Class Reference
[Nodes]

Character buffer node. More...

#include <FsfCharBuffer.h>

Inherits fsf::CNode.

Collaboration diagram for fsf::CCharBuffer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

Creators
 CCharBuffer ()
 0-parameter constructor
 CCharBuffer (fsf::CNode *pParent, Time tTime=0)
 2-parameter constructor
 CCharBuffer (const std::string &strName, fsf::CNode *pParent=NULL, Time tTime=0)
 3-parameter constructor
 CCharBuffer (long nSize, fsf::CNode *pParent=NULL, Time tTime=0)
 3-parameter constructor
 CCharBuffer (const std::string &strName, long nSize, fsf::CNode *pParent=NULL, Time tTime=0)
 4-parameter constructor
 CCharBuffer (const CCharBuffer &rhs)
 Copy constructor.
virtual ~CCharBuffer ()
 Virtual destructor.
virtual CNodeclone () const
 Cloning: necessary for run-time polymorphism.
Manipulators
CCharBufferoperator= (const CCharBuffer &rhs)
 Assignment operator.
void setSize (long n)
 Sets this node's buffer size.
Accessors
virtual void getTypeID (std::string &str) const
 Gets this node's factory mapping key.
long getSize () const
 Gets this buffer's size (in bytes).
Data access
Not thread safe: callers should lock data if necessary

char * data () const
 Returns a pointer to the buffer.
void lockData ()
 Locks the data's mutex.
void unlockData ()
 Unlocks the data's mutex.
void allocateBuffer (long n=-1)
 Allocates memory space for the buffer.
void copyData (const CCharBuffer &rhs)
 Copies the content of the buffer from another char buffer's data.
char * detachData ()
 Detaches this node's data buffer and returns a pointer to the detached buffer.

Protected Member Functions

Data access
Data should be locked if necessary

void deleteData ()
 Frees up memory and sets pointer to NULL.


Detailed Description

Character buffer node.

Constructor & Destructor Documentation

fsf::CCharBuffer::CCharBuffer (  )  [inline]

0-parameter constructor

fsf::CCharBuffer::CCharBuffer ( fsf::CNode pParent,
Time  tTime = 0 
) [inline]

2-parameter constructor

fsf::CCharBuffer::CCharBuffer ( const std::string &  strName,
fsf::CNode pParent = NULL,
Time  tTime = 0 
) [inline]

3-parameter constructor

CCharBuffer::CCharBuffer ( long  nSize,
fsf::CNode pParent = NULL,
Time  tTime = 0 
)

3-parameter constructor

CCharBuffer::CCharBuffer ( const std::string &  strName,
long  nSize,
fsf::CNode pParent = NULL,
Time  tTime = 0 
)

4-parameter constructor

CCharBuffer::CCharBuffer ( const CCharBuffer rhs  ) 

Copy constructor.

CCharBuffer::~CCharBuffer (  )  [virtual]

Virtual destructor.


Member Function Documentation

void CCharBuffer::allocateBuffer ( long  n = -1  ) 

Allocates memory space for the buffer.

Not thread safe!

virtual CNode* fsf::CCharBuffer::clone (  )  const [inline, virtual]

Cloning: necessary for run-time polymorphism.

Reimplemented from fsf::CNode.

void CCharBuffer::copyData ( const CCharBuffer rhs  ) 

Copies the content of the buffer from another char buffer's data.

Assumes m_pData is NULL or of same size as rhs.m_pData.

Assumes m_pData is NULL or of same size as rhs.m_pData

char* fsf::CCharBuffer::data (  )  const [inline]

Returns a pointer to the buffer.

void fsf::CCharBuffer::deleteData (  )  [inline, protected]

Frees up memory and sets pointer to NULL.

char * CCharBuffer::detachData (  ) 

Detaches this node's data buffer and returns a pointer to the detached buffer.

long fsf::CCharBuffer::getSize (  )  const [inline]

Gets this buffer's size (in bytes).

virtual void fsf::CCharBuffer::getTypeID ( std::string &  str  )  const [inline, virtual]

Gets this node's factory mapping key.

Reimplemented from fsf::CNode.

void fsf::CCharBuffer::lockData (  )  [inline]

Locks the data's mutex.

CCharBuffer & CCharBuffer::operator= ( const CCharBuffer rhs  ) 

Assignment operator.

void fsf::CCharBuffer::setSize ( long  n  )  [inline]

Sets this node's buffer size.

void fsf::CCharBuffer::unlockData (  )  [inline]

Unlocks the data's mutex.


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

Generated on Thu Oct 21 11:47:37 2010 for MFSM by  doxygen 1.5.9