blocxx
BLOCXX_NAMESPACE::IOIFCStreamBuffer Class Reference

DO NOT DERIVE FROM THIS CLASS, as the dtor has to call a virtual fct. More...

#include <IOIFCStreamBuffer.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::IOIFCStreamBuffer:
BLOCXX_NAMESPACE::BaseStreamBuffer BLOCXX_NAMESPACE::SocketStreamBuffer

Public Types

enum  EDirectionFlag
 
- Public Types inherited from BLOCXX_NAMESPACE::BaseStreamBuffer
enum  EDirectionFlag { E_IN , E_OUT , E_IN_OUT }
 

Public Member Functions

 IOIFCStreamBuffer (IOIFC *dev, int bufSize, const char *direction) BLOCXX_DEPRECATED
 
 IOIFCStreamBuffer (IOIFC *dev, EDirectionFlag direction=E_IN_OUT, int bufSize=64 *1024)
 
void setErrorAction (IOIFC::ErrorAction error_action)
 
virtual ~IOIFCStreamBuffer ()
 
virtual void reset ()
 
std::streambuf * tie (std::streambuf *tied_buf)
 
- Public Member Functions inherited from BLOCXX_NAMESPACE::BaseStreamBuffer
 BaseStreamBuffer (EDirectionFlag direction, size_t bufSize=BASE_BUF_SIZE)
 Create a base stream buffer.
 
 ~BaseStreamBuffer ()
 

Private Member Functions

 IOIFCStreamBuffer (const IOIFCStreamBuffer &arg)
 
IOIFCStreamBufferoperator= (const IOIFCStreamBuffer &arg)
 
virtual int buffer_to_device (const char *c, int n)
 Writes the buffer to the "device".
 
virtual int buffer_from_device (char *c, int n)
 Fill the buffer from the "device".
 

Private Attributes

IOIFCm_dev
 
std::streambuf * m_tied_buf
 
IOIFC::ErrorAction m_error_action
 

Additional Inherited Members

- Protected Member Functions inherited from BLOCXX_NAMESPACE::BaseStreamBuffer
int underflow ()
 
std::streamsize xsputn (const char *s, std::streamsize n)
 
virtual int overflow (int c)
 
virtual int sync ()
 
virtual void initBuffers ()
 
virtual void initGetBuffer ()
 
virtual void initPutBuffer ()
 

Detailed Description

DO NOT DERIVE FROM THIS CLASS, as the dtor has to call a virtual fct.

Definition at line 51 of file IOIFCStreamBuffer.hpp.

Member Enumeration Documentation

◆ EDirectionFlag

Constructor & Destructor Documentation

◆ IOIFCStreamBuffer() [1/3]

BLOCXX_NAMESPACE::IOIFCStreamBuffer::IOIFCStreamBuffer ( IOIFC * dev,
int bufSize,
const char * direction )

◆ IOIFCStreamBuffer() [2/3]

BLOCXX_NAMESPACE::IOIFCStreamBuffer::IOIFCStreamBuffer ( IOIFC * dev,
EDirectionFlag direction = E_IN_OUT,
int bufSize = 64*1024 )

◆ ~IOIFCStreamBuffer()

BLOCXX_NAMESPACE::IOIFCStreamBuffer::~IOIFCStreamBuffer ( )
virtual

Definition at line 80 of file IOIFCStreamBuffer.cpp.

References BLOCXX_NAMESPACE::BaseStreamBuffer::sync().

◆ IOIFCStreamBuffer() [3/3]

BLOCXX_NAMESPACE::IOIFCStreamBuffer::IOIFCStreamBuffer ( const IOIFCStreamBuffer & arg)
private

References IOIFCStreamBuffer().

Member Function Documentation

◆ buffer_from_device()

int BLOCXX_NAMESPACE::IOIFCStreamBuffer::buffer_from_device ( char * c,
int n )
privatevirtual

Fill the buffer from the "device".

Parameters
cA pointer to the beginning of the buffer
nThe number of bytes to be read into the buffer.
Returns
-1 if no bytes are able to be read from the "device" (for instance, end of input stream). Otherwise, return the number of bytes read into the buffer.
Exceptions
IOExceptionon failure.

Reimplemented from BLOCXX_NAMESPACE::BaseStreamBuffer.

Definition at line 105 of file IOIFCStreamBuffer.cpp.

References m_dev, m_error_action, and m_tied_buf.

Referenced by operator=().

◆ buffer_to_device()

int BLOCXX_NAMESPACE::IOIFCStreamBuffer::buffer_to_device ( const char * c,
int n )
privatevirtual

Writes the buffer to the "device".

Parameters
cA pointer to the start of the buffer
nthe number of bytes to write
Returns
-1 if error, 0 if the entire buffer was written.

Reimplemented from BLOCXX_NAMESPACE::BaseStreamBuffer.

Definition at line 115 of file IOIFCStreamBuffer.cpp.

References m_dev, and m_error_action.

Referenced by operator=().

◆ operator=()

IOIFCStreamBuffer & BLOCXX_NAMESPACE::IOIFCStreamBuffer::operator= ( const IOIFCStreamBuffer & arg)
private

◆ reset()

void BLOCXX_NAMESPACE::IOIFCStreamBuffer::reset ( )
virtual

◆ setErrorAction()

void BLOCXX_NAMESPACE::IOIFCStreamBuffer::setErrorAction ( IOIFC::ErrorAction error_action)

Definition at line 98 of file IOIFCStreamBuffer.cpp.

References m_error_action.

◆ tie()

std::streambuf * BLOCXX_NAMESPACE::IOIFCStreamBuffer::tie ( std::streambuf * tied_buf)

Definition at line 91 of file IOIFCStreamBuffer.cpp.

References m_tied_buf.

Member Data Documentation

◆ m_dev

IOIFC* BLOCXX_NAMESPACE::IOIFCStreamBuffer::m_dev
private

◆ m_error_action

IOIFC::ErrorAction BLOCXX_NAMESPACE::IOIFCStreamBuffer::m_error_action
private

◆ m_tied_buf

std::streambuf* BLOCXX_NAMESPACE::IOIFCStreamBuffer::m_tied_buf
private

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