Exiv2::Internal::TiffEntryBase Class Reference

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>

Inheritance diagram for Exiv2::Internal::TiffEntryBase:

Inheritance graph
[legend]
Collaboration diagram for Exiv2::Internal::TiffEntryBase:

Collaboration graph
[legend]
List of all members.

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 bytepData () const
 Return a pointer to the binary representation of the value of this component.
const ValuepValue () 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

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)

Detailed Description

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.


Member Function Documentation

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.

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.

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().


The documentation for this class was generated from the following files:
Generated on Thu Dec 31 03:58:20 2009 for Exiv2 by  doxygen 1.3.9.1