File: classExiv2_1_1TiffVisitor.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 (154 lines) | stat: -rw-r--r-- 15,112 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
<!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::TiffVisitor 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_1TiffVisitor.html">TiffVisitor</a></div>
<h1>Exiv2::TiffVisitor Class Reference</h1><!-- doxytag: class="Exiv2::TiffVisitor" -->Abstract base class defining the interface for TIFF composite vistors (Visitor pattern).  
<a href="#_details">More...</a>
<p>
<code>#include &lt;tiffvisitor.hpp&gt;</code>
<p>
Inheritance diagram for Exiv2::TiffVisitor:<p><center><img src="classExiv2_1_1TiffVisitor__inherit__graph.png" border="0" usemap="#Exiv2_1_1TiffVisitor__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1TiffVisitor__inherit__map">
<area href="classExiv2_1_1TiffFinder.html" shape="rect" coords="5,81,123,105" alt="">
<area href="classExiv2_1_1TiffMetadataDecoder.html" shape="rect" coords="147,81,333,105" alt="">
<area href="classExiv2_1_1TiffPrinter.html" shape="rect" coords="357,81,477,105" alt="">
<area href="classExiv2_1_1TiffReader.html" shape="rect" coords="501,81,624,105" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classExiv2_1_1TiffVisitor-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"><a class="anchor" name="e04d9cbc195b65285eff5439e9e9e876"></a><!-- doxytag: member="Exiv2::TiffVisitor::TiffVisitor" ref="e04d9cbc195b65285eff5439e9e9e876" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#e04d9cbc195b65285eff5439e9e9e876">TiffVisitor</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62133836d82afb9731d2cf72ee8f7d2f"></a><!-- doxytag: member="Exiv2::TiffVisitor::~TiffVisitor" ref="62133836d82afb9731d2cf72ee8f7d2f" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#62133836d82afb9731d2cf72ee8f7d2f">~TiffVisitor</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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#34eb6f03a7596a7ab81e4dec44c018eb">setGo</a> (bool go)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the stop/go flag: true for go, false for stop.  <a href="#34eb6f03a7596a7ab81e4dec44c018eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ff552f0b1b54a7b16b8bff4581246d2"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitEntry" ref="2ff552f0b1b54a7b16b8bff4581246d2" args="(TiffEntry *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#2ff552f0b1b54a7b16b8bff4581246d2">visitEntry</a> (<a class="el" href="classExiv2_1_1TiffEntry.html">TiffEntry</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for a TIFF entry. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cbd78a56a30eb7350771780b705378f5"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitDataEntry" ref="cbd78a56a30eb7350771780b705378f5" args="(TiffDataEntry *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#cbd78a56a30eb7350771780b705378f5">visitDataEntry</a> (<a class="el" href="classExiv2_1_1TiffDataEntry.html">TiffDataEntry</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for a TIFF data entry. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b7551b0fb41ec6e7d7f0cba180989f68"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitSizeEntry" ref="b7551b0fb41ec6e7d7f0cba180989f68" args="(TiffSizeEntry *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#b7551b0fb41ec6e7d7f0cba180989f68">visitSizeEntry</a> (<a class="el" href="classExiv2_1_1TiffSizeEntry.html">TiffSizeEntry</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for a TIFF size entry. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f4a388a4f940a7475a4eab08d50ce7f"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitDirectory" ref="6f4a388a4f940a7475a4eab08d50ce7f" args="(TiffDirectory *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#6f4a388a4f940a7475a4eab08d50ce7f">visitDirectory</a> (<a class="el" href="classExiv2_1_1TiffDirectory.html">TiffDirectory</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for a TIFF directory. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec91f1b3a1858e02998fa34cadb1f894"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitDirectoryNext" ref="ec91f1b3a1858e02998fa34cadb1f894" args="(TiffDirectory *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#ec91f1b3a1858e02998fa34cadb1f894">visitDirectoryNext</a> (<a class="el" href="classExiv2_1_1TiffDirectory.html">TiffDirectory</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for a TIFF directory, after all components and before the next entry is processed. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="368873d97063e1484514ab68f62f6f75"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitDirectoryEnd" ref="368873d97063e1484514ab68f62f6f75" args="(TiffDirectory *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#368873d97063e1484514ab68f62f6f75">visitDirectoryEnd</a> (<a class="el" href="classExiv2_1_1TiffDirectory.html">TiffDirectory</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for a TIFF directory, at the end of the processing. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3fad869bac5beab83dc884504b274d19"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitSubIfd" ref="3fad869bac5beab83dc884504b274d19" args="(TiffSubIfd *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#3fad869bac5beab83dc884504b274d19">visitSubIfd</a> (<a class="el" href="classExiv2_1_1TiffSubIfd.html">TiffSubIfd</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for a TIFF sub-IFD. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2be22ab2ed01b526bda0b817d5a70840"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitMnEntry" ref="2be22ab2ed01b526bda0b817d5a70840" args="(TiffMnEntry *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#2be22ab2ed01b526bda0b817d5a70840">visitMnEntry</a> (<a class="el" href="classExiv2_1_1TiffMnEntry.html">TiffMnEntry</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for the makernote component. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b6c62f7e435ce6a0671968f603a0263"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitIfdMakernote" ref="7b6c62f7e435ce6a0671968f603a0263" args="(TiffIfdMakernote *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#7b6c62f7e435ce6a0671968f603a0263">visitIfdMakernote</a> (<a class="el" href="classExiv2_1_1TiffIfdMakernote.html">TiffIfdMakernote</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for an IFD makernote. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30d2fe84ad7e669d72ff93f50ad469f2"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitIfdMakernoteEnd" ref="30d2fe84ad7e669d72ff93f50ad469f2" args="(TiffIfdMakernote *object)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#30d2fe84ad7e669d72ff93f50ad469f2">visitIfdMakernoteEnd</a> (<a class="el" href="classExiv2_1_1TiffIfdMakernote.html">TiffIfdMakernote</a> *object)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform after processing an IFD makernote. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="51b3ace9411cf84ba52ff61c8dedd12a"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitArrayEntry" ref="51b3ace9411cf84ba52ff61c8dedd12a" args="(TiffArrayEntry *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#51b3ace9411cf84ba52ff61c8dedd12a">visitArrayEntry</a> (<a class="el" href="classExiv2_1_1TiffArrayEntry.html">TiffArrayEntry</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for an array entry (as found in Canon makernotes). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa83aa3ccbabc5160f9ffcc8145780b9"></a><!-- doxytag: member="Exiv2::TiffVisitor::visitArrayElement" ref="fa83aa3ccbabc5160f9ffcc8145780b9" args="(TiffArrayElement *object)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#fa83aa3ccbabc5160f9ffcc8145780b9">visitArrayElement</a> (<a class="el" href="classExiv2_1_1TiffArrayElement.html">TiffArrayElement</a> *object)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Operation to perform for an array element. <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="09c7bc62f717b219d9ff0c71efe32613"></a><!-- doxytag: member="Exiv2::TiffVisitor::go" ref="09c7bc62f717b219d9ff0c71efe32613" args="()" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#09c7bc62f717b219d9ff0c71efe32613">go</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if stop flag is clear, return true if it's clear. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Abstract base class defining the interface for TIFF composite vistors (Visitor pattern). 
<p>
A concrete visitor class is used as shown in the example below. Accept() will invoke the member function corresponding to the concrete type of each component in the composite.<p>
<div class="fragment"><pre class="fragment">      <span class="keywordtype">void</span> visitorExample(<a class="code" href="classExiv2_1_1TiffComponent.html">Exiv2::TiffComponent</a>* tiffComponent, <a class="code" href="classExiv2_1_1TiffVisitor.html">Exiv2::TiffVisitor</a>&amp; visitor)
      {
          tiffComponent-&gt;<a class="code" href="classExiv2_1_1TiffComponent.html#0572488189b0c63452f3f1ef5ef07f7b">accept</a>(visitor);
      }
</pre></div> 
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="34eb6f03a7596a7ab81e4dec44c018eb"></a><!-- doxytag: member="Exiv2::TiffVisitor::setGo" ref="34eb6f03a7596a7ab81e4dec44c018eb" args="(bool go)" --><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">void Exiv2::TiffVisitor::setGo           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>go</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the stop/go flag: true for go, false for stop. 
<p>
This mechanism can be used by concrete visitors to signal certain events. For example, <a class="el" href="classExiv2_1_1TiffFinder.html">TiffFinder</a> sets the stop flag as soon as it finds the correct component to signal to that the search should be stopped. <a class="el" href="classExiv2_1_1TiffReader.html">TiffReader</a> uses it to signal problems reading a makernote. As the flag doesn't carry any information on the type of event which triggered it, it is for each visitor to establish and adhere to conventions about its meaning.     </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="tiffvisitor_8hpp.html">tiffvisitor.hpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 2 23:55:33 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>