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 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 List</span></a></li>
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class 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 <tiffvisitor.hpp></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="()" -->
</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#e04d9cbc195b65285eff5439e9e9e876">TiffVisitor</a> ()</td></tr>
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#62133836d82afb9731d2cf72ee8f7d2f">~TiffVisitor</a> ()</td></tr>
<tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffVisitor.html#09c7bc62f717b219d9ff0c71efe32613">go</a> ()</td></tr>
<tr><td class="mdescLeft"> </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>& visitor)
{
tiffComponent-><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">( </td>
<td class="md" nowrap valign="top">bool </td>
<td class="mdname1" valign="top" nowrap> <em>go</em> </td>
<td class="md" valign="top"> ) </td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</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
<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>
|