Exiv2::Internal::TiffDataEntry Class Reference

A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related TiffSizeEntry, tag and group of which are set in the constructor. More...

#include <tiffcomposite_int.hpp>

Inheritance diagram for Exiv2::Internal::TiffDataEntry:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

Creators
 TiffDataEntry (uint16_t tag, uint16_t group, uint16_t szTag, uint16_t szGroup)
 Constructor.
virtual ~TiffDataEntry ()
 Virtual destructor.
Manipulators
virtual void setStrips (const Value *pSize, const byte *pData, uint32_t sizeData, uint32_t baseOffset)
 Set the data areas ("strips").

Protected Member Functions

Protected Manipulators
virtual void doAccept (TiffVisitor &visitor)
 Implements accept().
virtual void doEncode (TiffEncoder &encoder, const Exifdatum *datum)
 Implements encode().
virtual uint32_t doWrite (IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
 Implements write(). Write pointers into the data area to the ioWrapper, relative to the offsets in the value. Return the number of bytes written. The valueIdx argument is not used.
Protected Accessors
virtual uint32_t doWriteData (IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
 Implements writeData(). Write the data area to the ioWrapper. Return the number of bytes written.
virtual uint32_t doSizeData () const
 Implements sizeData(). Return the size of the data area.

Friends

class TiffEncoder

Detailed Description

A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related TiffSizeEntry, tag and group of which are set in the constructor.

This component extracts the data areas ("strips") and makes them available in the higher level metadata. It is used, e.g., for Exif.Thumbnail.JPEGInterchangeFormat for which the size is provided in Exif.Thumbnail.JPEGInterchangeFormatLength.


Member Function Documentation

uint32_t Exiv2::Internal::TiffDataEntry::doWrite IoWrapper ioWrapper,
ByteOrder  byteOrder,
int32_t  offset,
uint32_t  valueIdx,
uint32_t  dataIdx,
uint32_t &  imageIdx
[protected, virtual]
 

Implements write(). Write pointers into the data area to the ioWrapper, relative to the offsets in the value. Return the number of bytes written. The valueIdx argument is not used.

The number of components in the value determines how many offsets are written. Set the first value to 0, the second to the size of the first data area, etc. when creating a new data entry. Offsets will be adjusted on write. The type of the value can only be signed or unsigned short or long.

Reimplemented from Exiv2::Internal::TiffEntryBase.

void Exiv2::Internal::TiffDataEntry::setStrips const Value pSize,
const byte pData,
uint32_t  sizeData,
uint32_t  baseOffset
[virtual]
 

Set the data areas ("strips").

Parameters:
pSize Pointer to the Value holding the sizes corresponding to this data entry.
pData Pointer to the data area.
sizeData Size of the data area.
baseOffset Base offset into the data area.

Implements Exiv2::Internal::TiffDataEntryBase.


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