libopenraw  0.3.7
Public Member Functions | List of all members
OpenRaw::Internals::CIFF::CiffExifIfd Class Reference

IFD that will synthesize the entries for the Exif. More...

#include <ciffifd.hpp>

Inheritance diagram for OpenRaw::Internals::CIFF::CiffExifIfd:
OpenRaw::Internals::CIFF::CiffIfd OpenRaw::Internals::IfdDir

Public Member Functions

 CiffExifIfd (CRWFile &ciff, RawContainer &container)
 Construct an Exif IFD for a CIFF file.
 
virtual bool load () override
 Load the directory to memory. More...
 
- Public Member Functions inherited from OpenRaw::Internals::CIFF::CiffIfd
 CiffIfd (CRWFile &ciff, RawContainer &container, IfdDirType _type)
 construct a CIFF Ifd.
 
IfdEntry::Ref entryForString (uint16_t id, const std::string &str) const
 
- Public Member Functions inherited from OpenRaw::Internals::IfdDir
 IfdDir (off_t _offset, RawContainer &_container, IfdDirType _type, const TagTable &tag_table=exif_tag_names)
 Construct an IfdDir. More...
 
IfdDirType type () const
 Get the type of the IfdDir.
 
void setType (IfdDirType type_)
 Set the type of the IfdDir.
 
off_t baseOffset () const
 Get the base offset for the data. More...
 
void setBaseOffset (off_t base)
 Set the base offset.
 
bool isPrimary () const
 The IFD is a primary in the TIFF/EP sense. More...
 
bool isThumbnail () const
 The IFD is for a thumnail. More...
 
off_t offset () const
 Return the offset.
 
const RawContainercontainer () const
 The container for the IfdDir, const.
 
RawContainercontainer ()
 The container for the IfdDir.
 
int numTags ()
 Return the number of entries.
 
IfdEntry::Ref getEntry (uint16_t id) const
 Get the IfdEntry for the tag id. More...
 
const Entriesentries () const
 Direct access to the entries.
 
RawContainer::EndianType endian () const
 the Container endian More...
 
void setEndian (RawContainer::EndianType _endian)
 Set the endian for the IFD. More...
 
template<typename T >
Option< T > getValue (uint16_t id) const
 Get a T value from an entry. More...
 
Option< uint32_t > getIntegerValue (uint16_t id)
 Get an loosely typed integer value from an entry. More...
 
off_t nextIFD ()
 Get the offset of the next IFD in absolute.
 
Ref getSubIFD (uint32_t idx=0) const
 Get the SubIFD at index idx. More...
 
Option< std::vector< IfdDir::Ref > > getSubIFDs ()
 Get all SubIFDs. More...
 
Ref getExifIFD ()
 Get the Exif IFD. More...
 
Ref getMakerNoteIfd (or_rawfile_type file_type)
 Get the MakerNote IFD. More...
 
void setTagTable (const TagTable &tag_table)
 Set the tag table for tag to name correspondance. More...
 
const char * getTagName (uint32_t tag) const
 Return the tag name for tag. More...
 
template<typename T >
Option< std::vector< T > > getEntryArrayValue (IfdEntry &e) const
 Get the entry value as an array. More...
 
template<typename T >
getEntryValue (IfdEntry &e, uint32_t idx=0, bool ignore_type=false) const
 Get the typed entry value. More...
 
uint32_t getEntryIntegerArrayItemValue (IfdEntry &e, int idx) const
 Return the integer value at index. It will coerce the type. More...
 
MetaValuemakeMetaValue (IfdEntry &e) const
 Make a meta value out of the IFD entry. More...
 

Additional Inherited Members

- Public Types inherited from OpenRaw::Internals::IfdDir
typedef std::weak_ptr< IfdDirWeakRef
 Weak ptr of an IfdDir.
 
typedef std::shared_ptr< IfdDirRef
 Shared ptr of an IfdDir.
 
typedef std::vector< RefRefVec
 Vector of shared ptr of IfdDir. More...
 
typedef std::map< uint16_t, IfdEntry::RefEntries
 Ifd Entries map type. More...
 
- Protected Attributes inherited from OpenRaw::Internals::CIFF::CiffIfd
CRWFilem_file
 
- Protected Attributes inherited from OpenRaw::Internals::IfdDir
Entries m_entries
 

Detailed Description

IFD that will synthesize the entries for the Exif.

Definition at line 66 of file ciffifd.hpp.

Member Function Documentation

◆ load()

bool OpenRaw::Internals::CIFF::CiffExifIfd::load ( )
overridevirtual

Load the directory to memory.

The only reason you'd want to override is to synthesize an IFD from non-IFD.

Returns
true on success.

Reimplemented from OpenRaw::Internals::IfdDir.

Definition at line 354 of file ciffifd.cpp.

References OpenRaw::Internals::IfdDir::container(), OpenRaw::Internals::CRWFile::getContainer(), OpenRaw::Internals::IfdDir::m_entries, and OpenRaw::Internals::CIFF::CiffIfd::m_file.


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