Exiv2::Internal::TiffReader Class Reference

TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by TiffParser to read the TIFF data from a block of memory. More...

#include <tiffvisitor_int.hpp>

Inheritance diagram for Exiv2::Internal::TiffReader:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

Creators
 TiffReader (const byte *pData, uint32_t size, TiffComponent *pRoot, TiffRwState::AutoPtr state)
 Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor.
virtual ~TiffReader ()
 Virtual destructor.
Manipulators
virtual void visitEntry (TiffEntry *object)
 Read a TIFF entry from the data buffer.
virtual void visitDataEntry (TiffDataEntry *object)
 Read a TIFF data entry from the data buffer.
virtual void visitImageEntry (TiffImageEntry *object)
 Read a TIFF image entry from the data buffer.
virtual void visitSizeEntry (TiffSizeEntry *object)
 Read a TIFF size entry from the data buffer.
virtual void visitDirectory (TiffDirectory *object)
 Read a TIFF directory from the data buffer.
virtual void visitSubIfd (TiffSubIfd *object)
 Read a TIFF sub-IFD from the data buffer.
virtual void visitMnEntry (TiffMnEntry *object)
 Read a TIFF makernote entry from the data buffer.
virtual void visitIfdMakernote (TiffIfdMakernote *object)
 Read an IFD makernote from the data buffer.
virtual void visitIfdMakernoteEnd (TiffIfdMakernote *object)
 Reset reader to its original state, undo makernote specific settings.
virtual void visitBinaryArray (TiffBinaryArray *object)
 Read a binary array from the data buffer.
virtual void visitBinaryElement (TiffBinaryElement *object)
 Read an element of a binary array from the data buffer.
void readTiffEntry (TiffEntryBase *object)
 Read a standard TIFF entry from the data buffer.
void readDataEntryBase (TiffDataEntryBase *object)
 Read a TiffDataEntryBase from the data buffer.
void changeState (TiffRwState::AutoPtr state)
 Set the state class. Assumes ownership of the object passed in.
void resetState ()
 Reset the state to the original state as set in the constructor.
bool circularReference (const byte *start, uint16_t group)
 Check IFD directory pointer start for circular reference.
int nextIdx (uint16_t group)
 Return the next idx sequence number for group.
void postProcess ()
 Read deferred components.
Accessors
ByteOrder byteOrder () const
 Return the byte order.
uint32_t baseOffset () const
 Return the base offset. See class TiffRwState for details.

Detailed Description

TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by TiffParser to read the TIFF data from a block of memory.


Constructor & Destructor Documentation

Exiv2::Internal::TiffReader::TiffReader const byte pData,
uint32_t  size,
TiffComponent pRoot,
TiffRwState::AutoPtr  state
 

Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor.

Parameters:
pData Pointer to the data buffer, starting with a TIFF header.
size Number of bytes in the data buffer.
pRoot Root element of the TIFF composite.
state State object for creation function, byte order and base offset.


Member Function Documentation

void Exiv2::Internal::TiffReader::postProcess  ) 
 

Read deferred components.

This function is called after the TIFF composite is read by passing a TiffReader to the accept() function of the root component. It reads all components for which reading was deferred during that pass. This is usually done to make sure that all other components are accessible at the time the deferred components are processed.


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