![]() |
Exiv2
|
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. | |
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.
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.
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().
long Exiv2::Internal::IoWrapper::write | ( | const byte * | pData, |
long | wcount | ||
) |
Wraps the corresponding BasicIo::write() method.
Writes the TIFF header to the IO, if it hasn't been written yet, followed by the data passed in the arguments.
References Exiv2::BasicIo::write().
Referenced by Exiv2::Internal::TiffEntryBase::doWrite(), Exiv2::Internal::TiffDataEntry::doWrite(), Exiv2::Internal::TiffImageEntry::doWrite(), Exiv2::Internal::TiffDirectory::doWrite(), Exiv2::Internal::TiffSubIfd::doWrite(), Exiv2::Internal::TiffBinaryArray::doWrite(), Exiv2::Internal::TiffBinaryElement::doWrite(), Exiv2::Internal::TiffDataEntry::doWriteData(), Exiv2::Internal::TiffImageEntry::doWriteImage(), Exiv2::Internal::OlympusMnHeader::write(), Exiv2::Internal::Olympus2MnHeader::write(), Exiv2::Internal::FujiMnHeader::write(), Exiv2::Internal::Nikon2MnHeader::write(), Exiv2::Internal::Nikon3MnHeader::write(), Exiv2::Internal::PanasonicMnHeader::write(), Exiv2::Internal::PentaxDngMnHeader::write(), Exiv2::Internal::PentaxMnHeader::write(), Exiv2::Internal::SigmaMnHeader::write(), Exiv2::Internal::SonyMnHeader::write(), and Exiv2::Internal::Casio2MnHeader::write().