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

Special IFD to synthesize entries out of a CIFF file. More...

#include <ciffifd.hpp>

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

Public Member Functions

 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.
 
virtual bool load ()
 Load the directory to memory. More...
 
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...
 

Protected Attributes

CRWFilem_file
 
- Protected Attributes inherited from OpenRaw::Internals::IfdDir
Entries m_entries
 

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

Detailed Description

Special IFD to synthesize entries out of a CIFF file.

Definition at line 38 of file ciffifd.hpp.

Member Function Documentation

◆ entryForString()

IfdEntry::Ref OpenRaw::Internals::CIFF::CiffIfd::entryForString ( uint16_t  id,
const std::string &  str 
) const

Synthesize an IFD entry for a string value

Parameters
idthe id for the entry
strthe string value
Returns
the IFD entry reference.

Definition at line 38 of file ciffifd.cpp.

Member Data Documentation

◆ m_file

CRWFile& OpenRaw::Internals::CIFF::CiffIfd::m_file
protected

The containing file

Definition at line 52 of file ciffifd.hpp.

Referenced by OpenRaw::Internals::CIFF::CiffMainIfd::load(), and OpenRaw::Internals::CIFF::CiffExifIfd::load().


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