Exiv2
List of all members
Exiv2::Internal::IoWrapper Class Reference

Simple IO wrapper to ensure that the header is only written if there is any other data at all. More...

#include <tiffcomposite_int.hpp>

Public Member Functions

Creators
 IoWrapper (BasicIo &io, const byte *pHeader, long size, OffsetWriter *pow)
 
Manipulators
long write (const byte *pData, long wcount)
 Wraps the corresponding BasicIo::write() method. More...
 
int putb (byte data)
 Wraps the corresponding BasicIo::putb() method. More...
 
void setTarget (int id, uint32_t target)
 Wrapper for OffsetWriter::setTarget(), using an int instead of the enum to reduce include deps.
 

Detailed Description

Simple IO wrapper to ensure that the header is only written if there is any other data at all.

The wrapper is initialized with an IO reference and a pointer to a TIFF header. Subsequently the wrapper is used by all TIFF write methods. It takes care that the TIFF header is written to the IO first before any other output and only if there is any other data.

Constructor & Destructor Documentation

◆ IoWrapper()

Exiv2::Internal::IoWrapper::IoWrapper ( BasicIo io,
const byte pHeader,
long  size,
OffsetWriter pow 
)

brief Constructor.

The IO wrapper owns none of the objects passed in so the caller is responsible to keep them alive.

Member Function Documentation

◆ putb()

int Exiv2::Internal::IoWrapper::putb ( byte  data)

Wraps the corresponding BasicIo::putb() method.

Writes the TIFF header to the IO, if it hasn't been written yet, followed by the data passed in the argument.

References Exiv2::BasicIo::putb(), and Exiv2::BasicIo::write().

Referenced by Exiv2::Internal::TiffDirectory::doWrite(), Exiv2::Internal::TiffDataEntry::doWriteData(), Exiv2::Internal::TiffSubIfd::doWriteData(), and Exiv2::Internal::TiffImageEntry::doWriteImage().

◆ write()

long Exiv2::Internal::IoWrapper::write ( const byte pData,
long  wcount 
)

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