Exiv2::Internal::TiffIfdMakernote Class Reference

Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes. More...

#include <tiffcomposite_int.hpp>

Inheritance diagram for Exiv2::Internal::TiffIfdMakernote:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

Creators
 TiffIfdMakernote (uint16_t tag, uint16_t group, uint16_t mnGroup, MnHeader *pHeader, bool hasNext=true)
 Default constructor.
virtual ~TiffIfdMakernote ()
 Virtual destructor.
Manipulators
bool readHeader (const byte *pData, uint32_t size, ByteOrder byteOrder)
 Read the header from a data buffer, return true if successful.
void setByteOrder (ByteOrder byteOrder)
 Set the byte order for the makernote.
void setImageByteOrder (ByteOrder byteOrder)
 Set the byte order used for the image.
Accessors
uint32_t sizeHeader () const
 Return the size of the header in bytes.
uint32_t writeHeader (IoWrapper &ioWrapper, ByteOrder byteOrder) const
 Write the header to a data buffer, return the number of bytes written.
uint32_t mnOffset () const
 Return the offset to the makernote from the start of the TIFF header.
uint32_t ifdOffset () const
 Return the offset to the start of the Makernote IFD from the start of the Makernote. Returns 0 if there is no header.
ByteOrder byteOrder () const
 Return the byte order for the makernote. Requires the image byte order to be set (setImageByteOrder()). Returns the byte order for the image if there is no header or the byte order for the header is invalidByteOrder.
ByteOrder imageByteOrder () const
 Return the byte order used for the image.
uint32_t baseOffset () const
 Return the base offset for use with the makernote IFD entries relative to the start of the TIFF header. Returns 0 if there is no header.

Protected Member Functions

Protected Manipulators
virtual TiffComponentdoAddPath (uint16_t tag, TiffPath &tiffPath, TiffComponent *const pRoot)
 Implements addPath(). The default implementation does nothing.
virtual TiffComponentdoAddChild (TiffComponent::AutoPtr tiffComponent)
virtual TiffComponentdoAddNext (TiffComponent::AutoPtr tiffComponent)
virtual void doAccept (TiffVisitor &visitor)
 Implements accept().
virtual uint32_t doWrite (IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &imageIdx)
 Implements write(). Write the Makernote header, TIFF directory, values and additional data to the ioWrapper, return the number of bytes written.
Protected Accessors
virtual uint32_t doWriteData (IoWrapper &ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &imageIdx) const
 This class does not really implement writeData(), it only has write(). This method must not be called; it commits suicide.
virtual uint32_t doWriteImage (IoWrapper &ioWrapper, ByteOrder byteOrder) const
 Implements writeImage(). Write the image data of the IFD of the Makernote. Return the number of bytes written.
virtual uint32_t doSize () const
 Implements size(). Return the size of the Makernote header, TIFF directory, values and additional data.
virtual uint32_t doCount () const
 Implements count(). Return the number of entries in the IFD of the Makernote. Does not count entries which are marked as deleted.
virtual uint32_t doSizeData () const
 This class does not really implement sizeData(), it only has size(). This method must not be called; it commits suicide.
virtual uint32_t doSizeImage () const
 Implements sizeImage(). Return the total image data size of the makernote IFD.

Friends

class TiffReader

Detailed Description

Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes.

Contains a makernote header (which can be 0) and an IFD and implements child mgmt functions to deal with the IFD entries. The various makernote weirdnesses are taken care of in the makernote header (and possibly in special purpose IFD entries).


Member Function Documentation

bool Exiv2::Internal::TiffIfdMakernote::readHeader const byte pData,
uint32_t  size,
ByteOrder  byteOrder
 

Read the header from a data buffer, return true if successful.

The default implementation simply returns true.


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