File: classExiv2_1_1TiffReader.html

package info (click to toggle)
exiv2 0.10-1.4
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 13,124 kB
  • ctags: 5,665
  • sloc: cpp: 20,697; xml: 15,118; sh: 10,526; ansic: 1,887; makefile: 367; awk: 64; python: 36
file content (187 lines) | stat: -rw-r--r-- 18,017 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Exiv2: Exiv2::TiffReader Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1TiffReader.html">TiffReader</a></div>
<h1>Exiv2::TiffReader Class Reference</h1><!-- doxytag: class="Exiv2::TiffReader" --><!-- doxytag: inherits="Exiv2::TiffVisitor" -->TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by <a class="el" href="classExiv2_1_1TiffParser.html">TiffParser</a> to read the TIFF data from a block of memory.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;tiffvisitor.hpp&gt;</code>
<p>
Inheritance diagram for Exiv2::TiffReader:<p><center><img src="classExiv2_1_1TiffReader__inherit__graph.png" border="0" usemap="#Exiv2_1_1TiffReader__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1TiffReader__inherit__map">
<area href="classExiv2_1_1TiffVisitor.html" shape="rect" coords="8,7,125,31" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Exiv2::TiffReader:<p><center><img src="classExiv2_1_1TiffReader__coll__graph.png" border="0" usemap="#Exiv2_1_1TiffReader__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1TiffReader__coll__map">
<area href="classExiv2_1_1TiffVisitor.html" shape="rect" coords="5,7,123,31" alt="">
<area href="classExiv2_1_1TiffRwState.html" shape="rect" coords="147,7,277,31" alt="">
<area href="classExiv2_1_1TiffComponent.html" shape="rect" coords="301,7,451,31" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classExiv2_1_1TiffReader-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#b378eb73833e53f62a86c8ff6531d932">TiffReader</a> (const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *pData, uint32_t size, <a class="el" href="classExiv2_1_1TiffComponent.html">TiffComponent</a> *pRoot, <a class="el" href="classExiv2_1_1TiffRwState.html#ae29afcaeb636bb11d55b79509a91486">TiffRwState::AutoPtr</a> state)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor.  <a href="#b378eb73833e53f62a86c8ff6531d932"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1ee214b07a9afd47cde4453e1bfd3d7"></a><!-- doxytag: member="Exiv2::TiffReader::~TiffReader" ref="a1ee214b07a9afd47cde4453e1bfd3d7" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#a1ee214b07a9afd47cde4453e1bfd3d7">~TiffReader</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual destructor. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f1f6f8d65cfaa0b2bf55c748b03b53a5"></a><!-- doxytag: member="Exiv2::TiffReader::visitEntry" ref="f1f6f8d65cfaa0b2bf55c748b03b53a5" args="(TiffEntry *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#f1f6f8d65cfaa0b2bf55c748b03b53a5">visitEntry</a> (<a class="el" href="classExiv2_1_1TiffEntry.html">TiffEntry</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a TIFF entry from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85ddc21d0805b6a9993b55c1def8e5ed"></a><!-- doxytag: member="Exiv2::TiffReader::visitDataEntry" ref="85ddc21d0805b6a9993b55c1def8e5ed" args="(TiffDataEntry *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#85ddc21d0805b6a9993b55c1def8e5ed">visitDataEntry</a> (<a class="el" href="classExiv2_1_1TiffDataEntry.html">TiffDataEntry</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a TIFF data entry from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4510ec108061c194ec7e45f45ea5a4f"></a><!-- doxytag: member="Exiv2::TiffReader::visitSizeEntry" ref="b4510ec108061c194ec7e45f45ea5a4f" args="(TiffSizeEntry *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#b4510ec108061c194ec7e45f45ea5a4f">visitSizeEntry</a> (<a class="el" href="classExiv2_1_1TiffSizeEntry.html">TiffSizeEntry</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a TIFF size entry from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e21e628411bb869d837b84bbe2b2530b"></a><!-- doxytag: member="Exiv2::TiffReader::visitDirectory" ref="e21e628411bb869d837b84bbe2b2530b" args="(TiffDirectory *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#e21e628411bb869d837b84bbe2b2530b">visitDirectory</a> (<a class="el" href="classExiv2_1_1TiffDirectory.html">TiffDirectory</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a TIFF directory from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec9c3317f079fbfe42c61de6f2387eef"></a><!-- doxytag: member="Exiv2::TiffReader::visitSubIfd" ref="ec9c3317f079fbfe42c61de6f2387eef" args="(TiffSubIfd *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#ec9c3317f079fbfe42c61de6f2387eef">visitSubIfd</a> (<a class="el" href="classExiv2_1_1TiffSubIfd.html">TiffSubIfd</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a TIFF sub-IFD from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1a235b3e3e5b70e0c232493fc8b3347e"></a><!-- doxytag: member="Exiv2::TiffReader::visitMnEntry" ref="1a235b3e3e5b70e0c232493fc8b3347e" args="(TiffMnEntry *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#1a235b3e3e5b70e0c232493fc8b3347e">visitMnEntry</a> (<a class="el" href="classExiv2_1_1TiffMnEntry.html">TiffMnEntry</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a TIFF makernote entry from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7452bebae41d3e240c721d9a66f3c969"></a><!-- doxytag: member="Exiv2::TiffReader::visitIfdMakernote" ref="7452bebae41d3e240c721d9a66f3c969" args="(TiffIfdMakernote *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#7452bebae41d3e240c721d9a66f3c969">visitIfdMakernote</a> (<a class="el" href="classExiv2_1_1TiffIfdMakernote.html">TiffIfdMakernote</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read an IFD makernote from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9b95a4403bff8a404bf88a4d0891b48"></a><!-- doxytag: member="Exiv2::TiffReader::visitIfdMakernoteEnd" ref="a9b95a4403bff8a404bf88a4d0891b48" args="(TiffIfdMakernote *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#a9b95a4403bff8a404bf88a4d0891b48">visitIfdMakernoteEnd</a> (<a class="el" href="classExiv2_1_1TiffIfdMakernote.html">TiffIfdMakernote</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset reader to its original state, undo makernote specific settings. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a9d40c0d3f06dd7e11714d37ed68082"></a><!-- doxytag: member="Exiv2::TiffReader::visitArrayEntry" ref="9a9d40c0d3f06dd7e11714d37ed68082" args="(TiffArrayEntry *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#9a9d40c0d3f06dd7e11714d37ed68082">visitArrayEntry</a> (<a class="el" href="classExiv2_1_1TiffArrayEntry.html">TiffArrayEntry</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read an array entry component from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b394a34166160fa91ebfcb66535ab37e"></a><!-- doxytag: member="Exiv2::TiffReader::visitArrayElement" ref="b394a34166160fa91ebfcb66535ab37e" args="(TiffArrayElement *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#b394a34166160fa91ebfcb66535ab37e">visitArrayElement</a> (<a class="el" href="classExiv2_1_1TiffArrayElement.html">TiffArrayElement</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read an array element from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dc888337ec37d0dc1690c0a30d349a7"></a><!-- doxytag: member="Exiv2::TiffReader::readTiffEntry" ref="8dc888337ec37d0dc1690c0a30d349a7" args="(TiffEntryBase *object)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#8dc888337ec37d0dc1690c0a30d349a7">readTiffEntry</a> (<a class="el" href="classExiv2_1_1TiffEntryBase.html">TiffEntryBase</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a standard TIFF entry from the data buffer. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="635cb05a05dd7b3e9722d2a3a7f74660"></a><!-- doxytag: member="Exiv2::TiffReader::changeState" ref="635cb05a05dd7b3e9722d2a3a7f74660" args="(TiffRwState::AutoPtr state)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#635cb05a05dd7b3e9722d2a3a7f74660">changeState</a> (<a class="el" href="classExiv2_1_1TiffRwState.html#ae29afcaeb636bb11d55b79509a91486">TiffRwState::AutoPtr</a> state)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <em>state</em> class. Assumes ownership of the object passed in. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e45ff48eb1f3542fd98818436146f402"></a><!-- doxytag: member="Exiv2::TiffReader::resetState" ref="e45ff48eb1f3542fd98818436146f402" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#e45ff48eb1f3542fd98818436146f402">resetState</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the state to the original state as set in the constructor. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c198f8118fd281e51b7249c803acac3f"></a><!-- doxytag: member="Exiv2::TiffReader::byteOrder" ref="c198f8118fd281e51b7249c803acac3f" args="() const " -->
<a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#c198f8118fd281e51b7249c803acac3f">byteOrder</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the byte order. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad9e39b44b1fce8cb7058b7deb3f1b0e"></a><!-- doxytag: member="Exiv2::TiffReader::baseOffset" ref="ad9e39b44b1fce8cb7058b7deb3f1b0e" args="() const " -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#ad9e39b44b1fce8cb7058b7deb3f1b0e">baseOffset</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the base offset. See class <a class="el" href="classExiv2_1_1TiffRwState.html">TiffRwState</a> for details. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f32f1ab5faddbc298ab5ee021578708f"></a><!-- doxytag: member="Exiv2::TiffReader::create" ref="f32f1ab5faddbc298ab5ee021578708f" args="(uint32_t extendedTag, uint16_t group) const " -->
<a class="el" href="classExiv2_1_1TiffComponent.html#61ce4dcede30ca3d1b34178cc12a0d0d">TiffComponent::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#f32f1ab5faddbc298ab5ee021578708f">create</a> (uint32_t extendedTag, uint16_t group) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a TIFF component for <em>extendedTag</em> and group. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by <a class="el" href="classExiv2_1_1TiffParser.html">TiffParser</a> to read the TIFF data from a block of memory. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="b378eb73833e53f62a86c8ff6531d932"></a><!-- doxytag: member="Exiv2::TiffReader::TiffReader" ref="b378eb73833e53f62a86c8ff6531d932" args="(const byte *pData, uint32_t size, TiffComponent *pRoot, TiffRwState::AutoPtr state)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">Exiv2::TiffReader::TiffReader           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>pData</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>uint32_t&nbsp;</td>
          <td class="mdname" nowrap> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="classExiv2_1_1TiffComponent.html">TiffComponent</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>pRoot</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="classExiv2_1_1TiffRwState.html#ae29afcaeb636bb11d55b79509a91486">TiffRwState::AutoPtr</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>state</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pData</em>&nbsp;</td><td>Pointer to the data buffer, starting with a TIFF header. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Number of bytes in the data buffer. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pRoot</em>&nbsp;</td><td>Root element of the TIFF composite. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>State object for creation function, byteorder and base offset. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="tiffvisitor_8hpp.html">tiffvisitor.hpp</a><li>tiffvisitor.cpp</ul>
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 2 23:55:35 2006 for Exiv2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
</body>
</html>