clan::IODeviceProvider Class Referenceabstract

I/O device provider interface. More...

#include <iodevice_provider.h>

Public Member Functions

virtual ~IODeviceProvider ()
 
virtual IODeviceProviderduplicate ()=0
 Returns a new provider to the same resource.
 
virtual size_t get_position () const
 Returns the position in the data stream.
 
virtual size_t get_size () const
 Returns the size of data stream.
 
virtual size_t peek (void *data, size_t len)=0
 Peek data from device.
 
virtual size_t receive (void *data, size_t len, bool receive_all=true)=0
 Receive data from device.
 
virtual bool seek (int, IODevice::SeekMode)
 Seek in data stream.
 
virtual size_t send (const void *data, size_t len, bool send_all=true)=0
 Send data to device.
 

Detailed Description

I/O device provider interface.

Constructor & Destructor Documentation

◆ ~IODeviceProvider()

virtual clan::IODeviceProvider::~IODeviceProvider ( )
inlinevirtual

Member Function Documentation

◆ duplicate()

virtual IODeviceProvider * clan::IODeviceProvider::duplicate ( )
pure virtual

Returns a new provider to the same resource.

◆ get_position()

virtual size_t clan::IODeviceProvider::get_position ( ) const
inlinevirtual

Returns the position in the data stream.

Returns SIZE_MAX if the position is unknown.

◆ get_size()

virtual size_t clan::IODeviceProvider::get_size ( ) const
inlinevirtual

Returns the size of data stream.

Returns SIZE_MAX if the size is unknown.

◆ peek()

virtual size_t clan::IODeviceProvider::peek ( void * data,
size_t len )
pure virtual

Peek data from device.

◆ receive()

virtual size_t clan::IODeviceProvider::receive ( void * data,
size_t len,
bool receive_all = true )
pure virtual

Receive data from device.

◆ seek()

virtual bool clan::IODeviceProvider::seek ( int ,
IODevice::SeekMode  )
inlinevirtual

Seek in data stream.

◆ send()

virtual size_t clan::IODeviceProvider::send ( const void * data,
size_t len,
bool send_all = true )
pure virtual

Send data to device.


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