Exiv2
tifffwd_int.hpp
Go to the documentation of this file.
1 // ***************************************************************** -*- C++ -*-
2 /*
3  * Copyright (C) 2004-2018 Exiv2 authors
4  * This program is part of the Exiv2 distribution.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
19  */
27 #ifndef TIFFFWD_INT_HPP_
28 #define TIFFFWD_INT_HPP_
29 
30 // *****************************************************************************
31 // included header files
32 #include "types.hpp"
33 #include "tags_int.hpp"
34 
35 // + standard includes
36 #include <memory>
37 #include <stack>
38 #include <vector>
39 
40 // *****************************************************************************
41 // Exiv2 namespace extensions
42 namespace Exiv2 {
43 
44  class Exifdatum;
45 
46  namespace Internal {
47 
48  class TiffHeaderBase;
49  class TiffComponent;
50  class TiffEntryBase;
51  class TiffEntry;
52  class TiffDataEntry;
53  class TiffSizeEntry;
54  class TiffDirectory;
55  class TiffSubIfd;
56  class TiffMnEntry;
57  class TiffBinaryArray;
58  class TiffBinaryElement;
59 
60  class TiffIfdMakernote;
61  class MnHeader;
62 
63  class TiffVisitor;
64  class TiffFinder;
65  class TiffDecoder;
66  class TiffEncoder;
67  class TiffReader;
68 
69  class TiffRwState;
70  class TiffPathItem;
71  struct TiffMappingInfo;
72 
73  class IoWrapper;
74  class OffsetWriter;
75 
76 // *****************************************************************************
77 // type definitions
78 
83  typedef void (TiffDecoder::*DecoderFct)(const TiffEntryBase*);
88  typedef void (TiffEncoder::*EncoderFct)(TiffEntryBase*, const Exifdatum*);
93  uint32_t extendedTag,
94  IfdId group);
99  const std::string& make,
100  uint32_t extendedTag,
101  IfdId group
102  );
108  typedef std::auto_ptr<TiffComponent> (*NewTiffCompFct)(uint16_t tag, IfdId group);
109 
111  typedef std::stack<TiffPathItem> TiffPath;
112 
114  typedef std::vector<IfdId> PrimaryGroups;
115 
116 }} // namespace Internal, Exiv2
117 
118 #endif // #ifndef TIFFFWD_INT_HPP_
TIFF composite visitor to decode metadata from the TIFF tree and add it to an Image, which is supplied in the constructor (Visitor pattern). Used by TiffParser to decode the metadata from a TIFF composite.
Definition: tiffvisitor_int.hpp:284
This abstract base class provides the common functionality of an IFD directory entry and defines an e...
Definition: tiffcomposite_int.hpp:414
DecoderFct(* FindDecoderFct)(const std::string &make, uint32_t extendedTag, IfdId group)
Type for a function pointer for a function to decode a TIFF component.
Definition: tifffwd_int.hpp:92
Type definitions for Exiv2 and related functionality.
std::stack< TiffPathItem > TiffPath
Stack to hold a path from the TIFF root element to a TIFF entry.
Definition: tifffwd_int.hpp:111
void(TiffEncoder::* EncoderFct)(TiffEntryBase *, const Exifdatum *)
Function pointer type for a TiffDecoder member function to decode a TIFF component.
Definition: tifffwd_int.hpp:88
IPTC string type.
Definition: types.hpp:147
EXIV2API ExifData::const_iterator make(const ExifData &ed)
Return the camera make.
Definition: easyaccess.cpp:428
Internal Exif tag and type information.
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition: asfvideo.hpp:36
TIFF composite visitor to encode metadata from an image to the TIFF tree. The metadata containers and...
Definition: tiffvisitor_int.hpp:382
void(TiffDecoder::* DecoderFct)(const TiffEntryBase *)
Function pointer type for a TiffDecoder member function to decode a TIFF component.
Definition: tifffwd_int.hpp:83
An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these...
Definition: exif.hpp:59
std::vector< IfdId > PrimaryGroups
Type for a list of primary image groups.
Definition: tifffwd_int.hpp:114
EncoderFct(* FindEncoderFct)(const std::string &make, uint32_t extendedTag, IfdId group)
Type for a function pointer for a function to encode a TIFF component.
Definition: tifffwd_int.hpp:98
IfdId
Type to specify the IFD to which a metadata belongs.
Definition: tags_int.hpp:54