libcdoc 0.1.8
libcdoc::DataConsumer Struct Referenceabstract

The DataConsumer class. More...

#include <Io.h>

Inherited by libcdoc::ChainedConsumer, libcdoc::MultiDataConsumer, libcdoc::OStreamConsumer, and libcdoc::VectorConsumer.

Public Member Functions

 DataConsumer ()=default
 
virtual ~DataConsumer ()=default
 
virtual result_t write (const uint8_t *src, size_t size)=0
 write write bytes to output object
 
virtual result_t close ()=0
 informs DataConsumer that the writing is finished
 
virtual bool isError ()=0
 checks whether DataSource is in error state
 
virtual std::string getLastErrorStr (result_t code) const
 get textual description of the last error
 
result_t write (const std::vector< uint8_t > &src)
 write all bytes in vector
 
result_t write (const std::string &src)
 write all bytes in string
 
result_t writeAll (DataSource &src)
 write all data from input object
 
 DataConsumer (const DataConsumer &)=delete
 
DataConsumeroperator= (const DataConsumer &)=delete
 

Detailed Description

The DataConsumer class.

An abstact base class for ouput objects

Constructor & Destructor Documentation

◆ DataConsumer() [1/2]

libcdoc::DataConsumer::DataConsumer ( )
default

◆ ~DataConsumer()

virtual libcdoc::DataConsumer::~DataConsumer ( )
virtualdefault

◆ DataConsumer() [2/2]

libcdoc::DataConsumer::DataConsumer ( const DataConsumer )
delete

Member Function Documentation

◆ close()

virtual result_t libcdoc::DataConsumer::close ( )
pure virtual

informs DataConsumer that the writing is finished

Returns
error code or OK

Implemented in libcdoc::OStreamConsumer, libcdoc::ChainedConsumer, libcdoc::VectorConsumer, and libcdoc::FileListConsumer.

◆ getLastErrorStr()

virtual std::string libcdoc::DataConsumer::getLastErrorStr ( result_t  code) const
virtual

get textual description of the last error

Implementation can decide whether to store the actual error string or return the generic text based on error code. It is undefined what will be returned if the last error code is not the one used as the argument.

Parameters
codethe last returned error code
Returns
error text

◆ isError()

virtual bool libcdoc::DataConsumer::isError ( )
pure virtual

checks whether DataSource is in error state

Returns
true if error state

Implemented in libcdoc::OStreamConsumer, libcdoc::ChainedConsumer, libcdoc::VectorConsumer, and libcdoc::FileListConsumer.

◆ operator=()

DataConsumer & libcdoc::DataConsumer::operator= ( const DataConsumer )
delete

◆ write() [1/3]

result_t libcdoc::DataConsumer::write ( const std::string &  src)
inline

write all bytes in string

Parameters
srca string
Returns
string length or error code

◆ write() [2/3]

result_t libcdoc::DataConsumer::write ( const std::vector< uint8_t > &  src)
inline

write all bytes in vector

Parameters
srca vector
Returns
vector size or error code

◆ write() [3/3]

virtual result_t libcdoc::DataConsumer::write ( const uint8_t *  src,
size_t  size 
)
pure virtual

write write bytes to output object

The following invariant holds: If there was no error then result == size If there was an error then result < 0

Parameters
srcsource block
sizethe number of bytes to write
Returns
size or error code

Implemented in libcdoc::OStreamConsumer, libcdoc::ChainedConsumer, libcdoc::VectorConsumer, and libcdoc::FileListConsumer.

◆ writeAll()

result_t libcdoc::DataConsumer::writeAll ( DataSource src)

write all data from input object

Copies all bytes from input source (until EOF or error) to the consumer. If error occurs while reading source, the source objects' error code is returned.

Parameters
srcthe input DataSource
Returns
the number of bytes copied or error

Referenced by libcdoc::DataSource::readAll().


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