Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > b36c97ff723e66f0f38bce83645c99dc > files > 641

exiv2-doc-0.18.2-1mdv2010.0.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Exiv2: Exiv2::JpegBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <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 class="current"><a href="annotated.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>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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="navpath"><a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1JpegBase.html">JpegBase</a>
  </div>
</div>
<div class="contents">
<h1>Exiv2::JpegBase Class Reference</h1><!-- doxytag: class="Exiv2::JpegBase" --><!-- doxytag: inherits="Exiv2::Image" -->Abstract helper base class to access JPEG images.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;jpgimage.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::JpegBase:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1JpegBase__inherit__graph.png" border="0" usemap="#Exiv2_1_1JpegBase__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1JpegBase__inherit__map">
<area shape="rect" id="node5" href="classExiv2_1_1ExvImage.html" title="Helper class to access Exiv2 files." alt="" coords="5,155,176,181"><area shape="rect" id="node7" href="classExiv2_1_1JpegImage.html" title="Class to access JPEG images." alt="" coords="200,155,381,181"><area shape="rect" id="node2" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top&#45;level interface..." alt="" coords="120,5,261,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::JpegBase:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1JpegBase__coll__graph.png" border="0" usemap="#Exiv2_1_1JpegBase__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1JpegBase__coll__map">
<area shape="rect" id="node2" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top&#45;level interface..." alt="" coords="2920,288,3061,315"><area shape="rect" id="node4" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top&#45;level class of the Exiv2 library. The container..." alt="" coords="2433,365,2604,392"><area shape="rect" id="node8" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate..." alt="" coords="1329,347,1511,373"><area shape="rect" id="node10" href="classExiv2_1_1Metadatum.html" title="Abstract base class defining the interface to access information related to one metadata..." alt="" coords="973,411,1155,437"><area shape="rect" id="node38" href="classExiv2_1_1Xmpdatum.html" title="Information related to an XMP property. An XMP metadatum consists of an XmpKey and..." alt="" coords="1760,268,1931,295"><area shape="rect" id="node56" href="classExiv2_1_1Iptcdatum.html" title="An IPTC metadatum (&quot;dataset&quot;), consisting of an IptcKey and a Value and..." alt="" coords="1329,443,1511,469"><area shape="rect" id="node14" href="classExiv2_1_1ExifKey.html" title="Concrete keys for Exif metadata." alt="" coords="592,245,752,272"><area shape="rect" id="node16" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="316,291,436,317"><area shape="rect" id="node45" href="classExiv2_1_1XmpKey.html" title="Concrete keys for XMP metadata." alt="" coords="596,175,748,201"><area shape="rect" id="node61" href="classExiv2_1_1IptcKey.html" title="Concrete keys for IPTC metadata." alt="" coords="592,472,752,499"><area shape="rect" id="node18" title="STL class." alt="" coords="311,168,441,195"><area shape="rect" id="node20" title="STL class." alt="" coords="7,168,257,195"><area shape="rect" id="node22" title="STL class." alt="" coords="572,316,772,343"><area shape="rect" id="node31" title="STL class." alt="" coords="1329,493,1511,520"><area shape="rect" id="node41" href="structExiv2_1_1Xmpdatum_1_1Impl.html" title="Internal Pimpl structure of class Xmpdatum." alt="" coords="1304,197,1536,224"><area shape="rect" id="node28" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="601,421,743,448"><area shape="rect" id="node34" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top&#45;level class of the Exiv2 library." alt="" coords="2631,288,2791,315"><area shape="rect" id="node52" href="classExiv2_1_1IptcData.html" title="A container for IPTC data. This is a top&#45;level class of the Exiv2 library." alt="" coords="2433,413,2604,440"><area shape="rect" id="node70" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO." alt="" coords="592,72,752,99"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1JpegBase-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">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_1JpegBase.html#d6e281a6e5e863c93fbb123f0b38bc4c">readMetadata</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read all metadata supported by a specific image format from the image. Before this method is called, the image metadata will be cleared.  <a href="#d6e281a6e5e863c93fbb123f0b38bc4c"></a><br></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_1JpegBase.html#5e17357e701288db323db2bb5c9db1a9">writeMetadata</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write metadata back to the image.  <a href="#5e17357e701288db323db2bb5c9db1a9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected 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_1JpegBase.html#35dd08286566bfd0527b04fa1579b414">JpegBase</a> (int type, <a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a> io, bool create, const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> initData[], long dataSize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor that can either open an existing image or create a new image from scratch. If a new image is to be created, any existing data is overwritten.  <a href="#35dd08286566bfd0527b04fa1579b414"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#ad464a055fd28f2f0e9f99af3967f208">isThisType</a> (<a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;iIo, bool advance) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if the content of the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance is of the type supported by this class.  <a href="#ad464a055fd28f2f0e9f99af3967f208"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#17bc2fe8a8e2562ae18d220e695cf2bf">writeHeader</a> (<a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;oIo) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes the image header (aka signature) to the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance.  <a href="#17bc2fe8a8e2562ae18d220e695cf2bf"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8438f038796a4098cfac9f455af4cbc"></a><!-- doxytag: member="Exiv2::JpegBase::sos_" ref="b8438f038796a4098cfac9f455af4cbc" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#b8438f038796a4098cfac9f455af4cbc">sos_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG SOS marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ef78301f5a5c1eb10ede0a0aed95dd8b"></a><!-- doxytag: member="Exiv2::JpegBase::eoi_" ref="ef78301f5a5c1eb10ede0a0aed95dd8b" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#ef78301f5a5c1eb10ede0a0aed95dd8b">eoi_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG EOI marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="10bf3ed1d94e6eb152e224bcf68a2817"></a><!-- doxytag: member="Exiv2::JpegBase::app0_" ref="10bf3ed1d94e6eb152e224bcf68a2817" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#10bf3ed1d94e6eb152e224bcf68a2817">app0_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG APP0 marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82f4bb5005543aa0ebe1c74ef739bdb7"></a><!-- doxytag: member="Exiv2::JpegBase::app1_" ref="82f4bb5005543aa0ebe1c74ef739bdb7" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#82f4bb5005543aa0ebe1c74ef739bdb7">app1_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG APP1 marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f7702e1a0b0077f037d69d90a25c47d0"></a><!-- doxytag: member="Exiv2::JpegBase::app13_" ref="f7702e1a0b0077f037d69d90a25c47d0" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#f7702e1a0b0077f037d69d90a25c47d0">app13_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG APP13 marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19f8416e44728f5dc7a18a5a1e847386"></a><!-- doxytag: member="Exiv2::JpegBase::com_" ref="19f8416e44728f5dc7a18a5a1e847386" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#19f8416e44728f5dc7a18a5a1e847386">com_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Comment marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b37130a8c38dc3ce30b51de26b9dfc69"></a><!-- doxytag: member="Exiv2::JpegBase::sof0_" ref="b37130a8c38dc3ce30b51de26b9dfc69" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#b37130a8c38dc3ce30b51de26b9dfc69">sof0_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="94921b4e807fbd0cdbe10fd35d4f29d3"></a><!-- doxytag: member="Exiv2::JpegBase::sof1_" ref="94921b4e807fbd0cdbe10fd35d4f29d3" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#94921b4e807fbd0cdbe10fd35d4f29d3">sof1_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3389b84d079d41a27cfb05988f2db5ab"></a><!-- doxytag: member="Exiv2::JpegBase::sof2_" ref="3389b84d079d41a27cfb05988f2db5ab" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#3389b84d079d41a27cfb05988f2db5ab">sof2_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c3437dcf59de33c9d66666102753861c"></a><!-- doxytag: member="Exiv2::JpegBase::sof3_" ref="c3437dcf59de33c9d66666102753861c" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#c3437dcf59de33c9d66666102753861c">sof3_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6d4b42dc2910c993200dba4aaea9b5d"></a><!-- doxytag: member="Exiv2::JpegBase::sof5_" ref="e6d4b42dc2910c993200dba4aaea9b5d" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#e6d4b42dc2910c993200dba4aaea9b5d">sof5_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f811b0f72b17b5c71db4f99bb68e159"></a><!-- doxytag: member="Exiv2::JpegBase::sof6_" ref="6f811b0f72b17b5c71db4f99bb68e159" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#6f811b0f72b17b5c71db4f99bb68e159">sof6_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="580a03b91a5a43681dd3b1a1a90b1418"></a><!-- doxytag: member="Exiv2::JpegBase::sof7_" ref="580a03b91a5a43681dd3b1a1a90b1418" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#580a03b91a5a43681dd3b1a1a90b1418">sof7_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cb7616a508b5bce1e5e090c64c56f6f"></a><!-- doxytag: member="Exiv2::JpegBase::sof9_" ref="5cb7616a508b5bce1e5e090c64c56f6f" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#5cb7616a508b5bce1e5e090c64c56f6f">sof9_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4341259e4217a9c816090c8c7371141"></a><!-- doxytag: member="Exiv2::JpegBase::sof10_" ref="d4341259e4217a9c816090c8c7371141" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#d4341259e4217a9c816090c8c7371141">sof10_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9c89886640ef38209fc820044a297632"></a><!-- doxytag: member="Exiv2::JpegBase::sof11_" ref="9c89886640ef38209fc820044a297632" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#9c89886640ef38209fc820044a297632">sof11_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63d981aaea56d3f50afe053c26af6b24"></a><!-- doxytag: member="Exiv2::JpegBase::sof13_" ref="63d981aaea56d3f50afe053c26af6b24" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#63d981aaea56d3f50afe053c26af6b24">sof13_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4583c9618dfbc4d57dfeec4f0d8cd151"></a><!-- doxytag: member="Exiv2::JpegBase::sof14_" ref="4583c9618dfbc4d57dfeec4f0d8cd151" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#4583c9618dfbc4d57dfeec4f0d8cd151">sof14_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e2ecc78c3933f13e331c8505c92b51f"></a><!-- doxytag: member="Exiv2::JpegBase::sof15_" ref="7e2ecc78c3933f13e331c8505c92b51f" args="" -->
static const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#7e2ecc78c3933f13e331c8505c92b51f">sof15_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JPEG Start-Of-Frame marker. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e16b6929af49b0c65f8a88a959821c26"></a><!-- doxytag: member="Exiv2::JpegBase::exifId_" ref="e16b6929af49b0c65f8a88a959821c26" args="[]" -->
static const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#e16b6929af49b0c65f8a88a959821c26">exifId_</a> []</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exif identifier. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fbc6eb88edcc72d0ea1b95fc64469a3"></a><!-- doxytag: member="Exiv2::JpegBase::jfifId_" ref="0fbc6eb88edcc72d0ea1b95fc64469a3" args="[]" -->
static const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#0fbc6eb88edcc72d0ea1b95fc64469a3">jfifId_</a> []</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">JFIF identifier. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ae42b529da31d016a9ff2fdd006bd1f"></a><!-- doxytag: member="Exiv2::JpegBase::xmpId_" ref="1ae42b529da31d016a9ff2fdd006bd1f" args="[]" -->
static const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1JpegBase.html#1ae42b529da31d016a9ff2fdd006bd1f">xmpId_</a> []</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XMP packet identifier. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Abstract helper base class to access JPEG images. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="35dd08286566bfd0527b04fa1579b414"></a><!-- doxytag: member="Exiv2::JpegBase::JpegBase" ref="35dd08286566bfd0527b04fa1579b414" args="(int type, BasicIo::AutoPtr io, bool create, const byte initData[], long dataSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Exiv2::JpegBase::JpegBase           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a>&nbsp;</td>
          <td class="paramname"> <em>io</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>create</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td>
          <td class="paramname"> <em>initData</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>dataSize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor that can either open an existing image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. 
<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>type</em>&nbsp;</td><td><a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface...">Image</a> type. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>io</em>&nbsp;</td><td>An auto-pointer that owns a <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance used for reading and writing image metadata. <b>Important:</b> The constructor takes ownership of the passed in <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance through the auto-pointer. Callers should not continue to use the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance after it is passed to this method. Use the <a class="el" href="classExiv2_1_1Image.html#5b4560b599ff50e28e3dc31fba62431e" title="Return a reference to the BasicIo instance being used for Io.">Image::io()</a> method to get a temporary reference. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>create</em>&nbsp;</td><td>Specifies if an existing image should be read (false) or if a new image should be created (true). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>initData</em>&nbsp;</td><td>Data to initialize newly created images. Only used when <em>create</em> is true. Should contain data for the smallest valid image of the calling subclass. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dataSize</em>&nbsp;</td><td>Size of initData in bytes. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ad464a055fd28f2f0e9f99af3967f208"></a><!-- doxytag: member="Exiv2::JpegBase::isThisType" ref="ad464a055fd28f2f0e9f99af3967f208" args="(BasicIo &amp;iIo, bool advance) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Exiv2::JpegBase::isThisType           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iIo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>advance</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Determine if the content of the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance is of the type supported by this class. 
<p>
The advance flag determines if the read position in the stream is moved (see below). This applies only if the type matches and the function returns true. If the type does not match, the stream position is not changed. However, if reading from the stream fails, the stream position is undefined. Consult the stream state to obtain more information in this case.<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>iIo</em>&nbsp;</td><td><a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance to read from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>advance</em>&nbsp;</td><td>Flag indicating whether the position of the io should be advanced by the number of characters read to analyse the data (true) or left at its original position (false). This applies only if the type matches. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the data matches the type of this class;<br>
 false if the data does not match </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1JpegImage.html#5a1d72c08c64f28afd557500c6f78f0a">Exiv2::JpegImage</a>, and <a class="el" href="classExiv2_1_1ExvImage.html#480b16cd980735218d8fb8c4e7ad19c6">Exiv2::ExvImage</a>.</p>

</div>
</div><p>
<a class="anchor" name="d6e281a6e5e863c93fbb123f0b38bc4c"></a><!-- doxytag: member="Exiv2::JpegBase::readMetadata" ref="d6e281a6e5e863c93fbb123f0b38bc4c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::JpegBase::readMetadata           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read all metadata supported by a specific image format from the image. Before this method is called, the image metadata will be cleared. 
<p>
This method returns success even if no metadata is found in the image. Callers must therefore check the size of individual metadata types before accessing the data.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if opening or reading of the file fails or the image data is not valid (does not look like data of the specific image type). </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classExiv2_1_1Image.html#198b8d5924d6441748aa162130c96a5f">Exiv2::Image</a>.</p>

</div>
</div><p>
<a class="anchor" name="17bc2fe8a8e2562ae18d220e695cf2bf"></a><!-- doxytag: member="Exiv2::JpegBase::writeHeader" ref="17bc2fe8a8e2562ae18d220e695cf2bf" args="(BasicIo &amp;oIo) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Exiv2::JpegBase::writeHeader           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>oIo</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Writes the image header (aka signature) to the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance. 
<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>oIo</em>&nbsp;</td><td><a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO.">BasicIo</a> instance that the header is written to. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
 4 if the output file can not be written to </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1JpegImage.html#8a3082eb94f566db8b52ae5dfd80754d">Exiv2::JpegImage</a>, and <a class="el" href="classExiv2_1_1ExvImage.html#c8d38bdde6a43d90e9c5d8ec1eacc7b0">Exiv2::ExvImage</a>.</p>

</div>
</div><p>
<a class="anchor" name="5e17357e701288db323db2bb5c9db1a9"></a><!-- doxytag: member="Exiv2::JpegBase::writeMetadata" ref="5e17357e701288db323db2bb5c9db1a9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::JpegBase::writeMetadata           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write metadata back to the image. 
<p>
All existing metadata sections in the image are either created, replaced, or erased. If values for a given metadata type have been assigned, a section for that metadata type will either be created or replaced. If no values have been assigned to a given metadata type, any exists section for that metadata type will be removed from the image.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if the operation fails </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classExiv2_1_1Image.html#f9f7e86aac2f656473e456e16550ab58">Exiv2::Image</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="jpgimage_8hpp.html">jpgimage.hpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jun 25 15:17:59 2009 for Exiv2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>