libopenraw
Classes | Public Types | Public Member Functions
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

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:
idthe IFD field id
Return values:
vthe 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:
ifdsthe 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:
idthe IFD field id
Return values:
vthe long value
Returns:
true if success

Definition at line 75 of file ifddir.h.

Referenced by getExifIFD().

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().

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: