This abstract base class provides the common functionality of an IFD directory entry and defines an extended interface for derived concrete entries, which allows access to the attributes of the entry. More...
#include <tiffcomposite_int.hpp>
Public Member Functions | |
Creators | |
TiffEntryBase (uint16_t tag, uint16_t group, TiffType tiffType=ttUndefined) | |
Default constructor. | |
virtual | ~TiffEntryBase () |
Virtual destructor. | |
Manipulators | |
void | encode (TiffEncoder &encoder, const Exifdatum *datum) |
Encode a TIFF component from the metadatum provided and information from the encoder as needed. | |
void | setOffset (int32_t offset) |
Set the offset. | |
void | setData (byte *pData, int32_t size) |
Set pointer and size of the entry's data (not taking ownership of the data). | |
void | setData (DataBuf buf) |
Set the entry's data buffer, taking ownership of the data buffer passed in. | |
void | updateValue (Value::AutoPtr value, ByteOrder byteOrder) |
Update the value. Takes ownership of the pointer passed in. | |
void | setValue (Value::AutoPtr value) |
Set tag value. Takes ownership of the pointer passed in. | |
Accessors | |
TiffType | tiffType () const |
Return the TIFF type. | |
int32_t | offset () const |
Return the offset to the data area relative to the base for the component (usually the start of the TIFF header). | |
virtual int | idx () const |
Return the unique id of the entry in the image. | |
const byte * | pData () const |
Return a pointer to the binary representation of the value of this component. | |
const Value * | pValue () const |
Return a const pointer to the converted value of this component. | |
Protected Member Functions | |
Protected Manipulators | |
virtual void | doEncode (TiffEncoder &encoder, const Exifdatum *datum)=0 |
Implements encode(). | |
void | setCount (uint32_t count) |
Set the number of components in this entry. | |
void | setIdx (int idx) |
Set the unique id of the entry in the image. | |
virtual uint32_t | doWrite (IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx) |
Implements write(). Write the value of a standard TIFF entry to the ioWrapper, return the number of bytes written. Only the ioWrapper and byteOrder arguments are used. | |
Protected Accessors | |
virtual uint32_t | doCount () const |
Implements count(). | |
virtual uint32_t | doWriteData (IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const |
Implements writeData(). Standard TIFF entries have no data: write nothing and return 0. | |
virtual uint32_t | doWriteImage (IoWrapper &ioWrapper, ByteOrder byteOrder) const |
Implements writeImage(). Standard TIFF entries have no image data: write nothing and return 0. | |
virtual uint32_t | doSize () const |
Implements size(). Return the size of a standard TIFF entry. | |
virtual uint32_t | doSizeData () const |
Implements sizeData(). Return 0. | |
virtual uint32_t | doSizeImage () const |
Implements sizeImage(). Return 0. | |
Static Protected Member Functions | |
static uint32_t | writeOffset (byte *buf, int32_t offset, TiffType tiffType, ByteOrder byteOrder) |
Helper function to write an offset to a preallocated binary buffer. | |
Friends | |
class | TiffReader |
class | TiffEncoder |
int | selectNikonLd (TiffBinaryArray *const, TiffComponent *const) |
This abstract base class provides the common functionality of an IFD directory entry and defines an extended interface for derived concrete entries, which allows access to the attributes of the entry.
void Exiv2::Internal::TiffEntryBase::encode | ( | TiffEncoder & | encoder, | |
const Exifdatum * | datum | |||
) |
Encode a TIFF component from the metadatum provided and information from the encoder as needed.
Implemented as double-dispatch calls back to one of the specific encoding functions at the encoder.
References doEncode().
void Exiv2::Internal::TiffEntryBase::setValue | ( | Value::AutoPtr | value | ) |
Set tag value. Takes ownership of the pointer passed in.
Update type, count and the pointer to the value.
References Exiv2::Internal::toTiffType().
Referenced by updateValue().
void Exiv2::Internal::TiffEntryBase::updateValue | ( | Value::AutoPtr | value, | |
ByteOrder | byteOrder | |||
) |
Update the value. Takes ownership of the pointer passed in.
Update binary value data and call setValue().
References setData(), and setValue().