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 )

Definition at line 63 of file IOIFCStreamBuffer.cpp.

◆ IOIFCStreamBuffer() [2/3]

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

Definition at line 72 of file IOIFCStreamBuffer.cpp.

◆ ~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

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, m_tied_buf, and BLOCXX_NAMESPACE::IOIFC::read().

◆ 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, m_error_action, and BLOCXX_NAMESPACE::IOIFC::write().

◆ 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

Definition at line 68 of file IOIFCStreamBuffer.hpp.

Referenced by buffer_from_device(), and buffer_to_device().

◆ m_error_action

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

Definition at line 70 of file IOIFCStreamBuffer.hpp.

Referenced by buffer_from_device(), buffer_to_device(), and setErrorAction().

◆ m_tied_buf

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

Definition at line 69 of file IOIFCStreamBuffer.hpp.

Referenced by buffer_from_device(), and tie().


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