Exiv2
Classes | Namespaces | Typedefs | Enumerations | Functions
crwimage_int.hpp File Reference

Internal classes to support CRW/CIFF format. More...

#include "tags_int.hpp"
#include "image.hpp"
#include <iosfwd>
#include <string>
#include <vector>
#include <stack>

Go to the source code of this file.

Classes

class  Exiv2::Internal::CiffComponent
 Interface class for components of the CIFF directory hierarchy of a CRW (Canon Raw data) image. Both CIFF directories as well as entries implement this interface. This class is implemented as NVI (non-virtual interface). More...
 
class  Exiv2::Internal::CiffEntry
 This class models one directory entry of a CIFF directory of a CRW (Canon Raw data) image. More...
 
class  Exiv2::Internal::CiffDirectory
 This class models a CIFF directory of a CRW (Canon Raw data) image. More...
 
class  Exiv2::Internal::CiffHeader
 This class models the header of a CRW (Canon Raw data) image. It is the head of a CIFF parse tree, consisting of CiffDirectory and CiffEntry objects. Most of its methods will walk the parse tree to perform the requested action. More...
 
struct  Exiv2::Internal::CrwSubDir
 Structure for the CIFF directory hierarchy. More...
 
struct  Exiv2::Internal::CrwMapping
 Structure for a mapping table for conversion of CIFF entries to image metadata and vice versa. More...
 
class  Exiv2::Internal::CrwMap
 Static class providing mapping functionality from CRW entries to image metadata and vice versa. More...
 

Namespaces

 Exiv2
 Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace.
 
 Exiv2::Internal
 Contains internal objects which are not published and are not part of the libexiv2 API.
 

Typedefs

typedef void(* Exiv2::Internal::CrwDecodeFct) (const CiffComponent &, const CrwMapping *, Image &, ByteOrder)
 Function pointer for functions to decode Exif tags from a CRW entry.
 
typedef void(* Exiv2::Internal::CrwEncodeFct) (const Image &, const CrwMapping *, CiffHeader *)
 Function pointer for functions to encode CRW entries from Exif tags.
 
typedef std::stack< CrwSubDir > Exiv2::Internal::CrwDirs
 Stack to hold a path of CRW directories.
 

Enumerations

enum  Exiv2::Internal::DataLocId { valueData, directoryData, lastDataLocId }
 Type to identify where the data is stored in a directory.
 

Functions

DataBuf Exiv2::Internal::packIfdId (const ExifData &exifData, IfdId ifdId, ByteOrder byteOrder)
 Pack the tag values of all ifdId tags in exifData into a data buffer. This function is used to pack Canon Camera Settings1,2 and Custom Function tags.
 

Detailed Description

Internal classes to support CRW/CIFF format.

Author
Andreas Huggel (ahu) ahuggel@gmx.net
Date
28-Aug-05, ahu: created