blocxx
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
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. More...
 
 ~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". More...
 
virtual int buffer_from_device (char *c, int n)
 Fill the buffer from the "device". More...
 

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 81 of file IOIFCStreamBuffer.hpp.

Member Enumeration Documentation

◆ EDirectionFlag

Definition at line 90 of file BaseStreamBuffer.hpp.

Constructor & Destructor Documentation

◆ IOIFCStreamBuffer() [1/3]

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

Definition at line 93 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 102 of file IOIFCStreamBuffer.cpp.

◆ ~IOIFCStreamBuffer()

BLOCXX_NAMESPACE::IOIFCStreamBuffer::~IOIFCStreamBuffer ( )
virtual

Definition at line 110 of file IOIFCStreamBuffer.cpp.

◆ 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 135 of file IOIFCStreamBuffer.cpp.

◆ 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 145 of file IOIFCStreamBuffer.cpp.

◆ operator=()

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

◆ reset()

void BLOCXX_NAMESPACE::IOIFCStreamBuffer::reset ( )
virtual

Definition at line 162 of file IOIFCStreamBuffer.cpp.

◆ setErrorAction()

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

Definition at line 128 of file IOIFCStreamBuffer.cpp.

◆ tie()

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

Definition at line 121 of file IOIFCStreamBuffer.cpp.

Member Data Documentation

◆ m_dev

IOIFC* BLOCXX_NAMESPACE::IOIFCStreamBuffer::m_dev
private

Definition at line 128 of file IOIFCStreamBuffer.hpp.

◆ m_error_action

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

Definition at line 130 of file IOIFCStreamBuffer.hpp.

◆ m_tied_buf

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

Definition at line 129 of file IOIFCStreamBuffer.hpp.


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