Exiv2::Nikon3MakerNote Class Reference

A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70. More...

#include <nikonmn.hpp>

Inheritance diagram for Exiv2::Nikon3MakerNote:

Inheritance graph
[legend]
Collaboration diagram for Exiv2::Nikon3MakerNote:

Collaboration graph
[legend]
List of all members.

Accessors

int checkHeader () const
 Check the makernote header. This will typically check if a required prefix string is present in the header. Return 0 if successful.
AutoPtr create (bool alloc=true) const
 Return an auto-pointer to an newly created, empty instance of the same type as this. The makernote entries are not copied. The caller owns the new object and the auto-pointer ensures that it will be deleted.
AutoPtr clone () const
 Return an auto-pointer to a clone of this object. The caller owns the new object and the auto-pointer ensures that it will be deleted.
static const TagInfotagList ()
 Return read-only list of built-in Nikon3 tags.

Public Types

typedef std::auto_ptr< Nikon3MakerNoteAutoPtr
 Shortcut for a Nikon3MakerNote auto pointer.

Public Member Functions

Creators
 Nikon3MakerNote (bool alloc=true)
 Constructor. Allows to choose whether or not memory management is required for the makernote entries.
 Nikon3MakerNote (const Nikon3MakerNote &rhs)
 Copy constructor.
virtual ~Nikon3MakerNote ()
 Virtual destructor.
Manipulators
int readHeader (const byte *buf, long len, ByteOrder byteOrder)
 Read the makernote header from the makernote databuffer. This method must set the offset to the start of the IFD (start_), if needed (assuming that the required information is in the header). Return 0 if successful.

Static Public Member Functions

Print functions for Nikon3 MakerNote tags
static std::ostream & print0x0002 (std::ostream &os, const Value &value)
 Print ISO setting.
static std::ostream & print0x0007 (std::ostream &os, const Value &value)
 Print autofocus mode.
static std::ostream & print0x0083 (std::ostream &os, const Value &value)
 Print lens type.
static std::ostream & print0x0084 (std::ostream &os, const Value &value)
 Print lens information.
static std::ostream & print0x0085 (std::ostream &os, const Value &value)
 Print manual focus distance.
static std::ostream & print0x0086 (std::ostream &os, const Value &value)
 Print digital zoom setting.
static std::ostream & print0x0088 (std::ostream &os, const Value &value)
 Print AF point.
static std::ostream & print0x008b (std::ostream &os, const Value &value)
 Print number of lens stops.
static std::ostream & print0x0098 (std::ostream &os, const Value &value)
 Print number of lens data.

Detailed Description

A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70.


Member Function Documentation

int Exiv2::Nikon3MakerNote::checkHeader (  )  const [virtual]

Check the makernote header. This will typically check if a required prefix string is present in the header. Return 0 if successful.

Note:
The default implementation does nothing, assuming there is no header

Reimplemented from Exiv2::IfdMakerNote.

AutoPtr Exiv2::Nikon3MakerNote::clone (  )  const

Return an auto-pointer to a clone of this object. The caller owns the new object and the auto-pointer ensures that it will be deleted.

Note:
In non-alloc mode the clone potentially contains pointers to the same data buffer as the original. Use updateBase(byte* pNewBase) to adjust them.

Reimplemented from Exiv2::IfdMakerNote.

AutoPtr Exiv2::Nikon3MakerNote::create ( bool  alloc = true  )  const

Return an auto-pointer to an newly created, empty instance of the same type as this. The makernote entries are not copied. The caller owns the new object and the auto-pointer ensures that it will be deleted.

Parameters:
alloc Memory management model for the newly created object. Indicates if memory required to store data should be allocated and deallocated (true) or not (false). If false, only pointers to the buffer provided to read() will be kept. See Ifd for more background on this concept.

Reimplemented from Exiv2::IfdMakerNote.

int Exiv2::Nikon3MakerNote::readHeader ( const byte buf,
long  len,
ByteOrder  byteOrder 
) [virtual]

Read the makernote header from the makernote databuffer. This method must set the offset to the start of the IFD (start_), if needed (assuming that the required information is in the header). Return 0 if successful.

Note:
The default implementation does nothing, assuming there is no header

Reimplemented from Exiv2::IfdMakerNote.


The documentation for this class was generated from the following file:
Generated on Fri Jun 6 18:18:36 2008 for Exiv2 by  doxygen 1.4.7