OpenRaw::Internals::IFDDir Class Reference

List of all members.

Classes

struct  isPrimary
struct  isThumbnail

Public Types

typedef boost::shared_ptr< IFDDirRef
typedef std::vector< Ref > RefVec

Public Member Functions

 IFDDir (off_t _offset, IFDFileContainer &_container)
off_t offset () const
bool load ()
int numTags ()
IFDEntry::Ref getEntry (uint16_t id) const
template<typename T >
bool getValue (uint16_t id, T &v) const
bool getIntegerValue (uint16_t id, uint32_t &v)
off_t nextIFD ()
Ref getSubIFD (uint32_t idx=0) const
bool getSubIFDs (std::vector< IFDDir::Ref > &ifds)
Ref getExifIFD ()

Detailed Description

Definition at line 37 of file ifddir.h.


Member Function Documentation

IFDDir::Ref OpenRaw::Internals::IFDDir::getExifIFD (  ) 

get the Exif IFD.

Returns:
Ref to the new IFDDir if found

The SubIFD is locate at offset found in the field EXIF_TAG_SUB_IFDS

Definition at line 201 of file ifddir.cpp.

References getValue().

bool OpenRaw::Internals::IFDDir::getIntegerValue ( uint16_t  id,
uint32_t &  v 
)

Get an loosely typed integer value from an entry. This method is preferred over getLongValue() or getShortValue() unless you really want the strong typing that IFD structure provide

Parameters:
id the IFD field id
Return values:
v the long value
Returns:
true if success

Definition at line 100 of file ifddir.cpp.

IFDDir::Ref OpenRaw::Internals::IFDDir::getSubIFD ( uint32_t  idx = 0  )  const

get the SubIFD at index idx.

Returns:
Ref to the new IFDDir if found

The SubIFD is locate at offset found in the field EXIF_TAG_SUB_IFDS

Definition at line 154 of file ifddir.cpp.

bool OpenRaw::Internals::IFDDir::getSubIFDs ( std::vector< IFDDir::Ref > &  ifds  ) 

get all SubIFDs

Return values:
ifds the list of IFDs Ref
Returns:
true if found / success

Definition at line 175 of file ifddir.cpp.

template<typename T >
bool OpenRaw::Internals::IFDDir::getValue ( uint16_t  id,
T &  v 
) const [inline]

Get a T value from an entry

Parameters:
id the IFD field id
Return values:
v the long value
Returns:
true if success

Definition at line 75 of file ifddir.h.

Referenced by getExifIFD().

bool OpenRaw::Internals::IFDDir::load (  ) 
off_t OpenRaw::Internals::IFDDir::nextIFD (  ) 

get the offset of the next IFD in absolute

Definition at line 129 of file ifddir.cpp.

References OpenRaw::Internals::RawContainer::readInt16(), OpenRaw::Internals::RawContainer::readInt32(), and OpenRaw::IO::Stream::seek().

int OpenRaw::Internals::IFDDir::numTags (  )  [inline]

return the number of entries

Definition at line 63 of file ifddir.h.

off_t OpenRaw::Internals::IFDDir::offset (  )  const [inline]

return the offset

Definition at line 55 of file ifddir.h.


The documentation for this class was generated from the following files:

Generated by  doxygen 1.6.2