Sophie

Sophie

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

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::Internal::TiffDataEntry 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="namespaceExiv2_1_1Internal.html">Internal</a>::<a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html">TiffDataEntry</a>
  </div>
</div>
<div class="contents">
<h1>Exiv2::Internal::TiffDataEntry Class Reference</h1><!-- doxytag: class="Exiv2::Internal::TiffDataEntry" --><!-- doxytag: inherits="Exiv2::Internal::TiffDataEntryBase" -->A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related <a class="el" href="classExiv2_1_1Internal_1_1TiffSizeEntry.html" title="A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This...">TiffSizeEntry</a>, tag and group of which are set in the constructor.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;tiffcomposite_int.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::Internal::TiffDataEntry:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Internal_1_1TiffDataEntry__inherit__graph.png" border="0" usemap="#Exiv2_1_1Internal_1_1TiffDataEntry__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1Internal_1_1TiffDataEntry__inherit__map">
<area shape="rect" id="node2" href="classExiv2_1_1Internal_1_1TiffDataEntryBase.html" title="Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets..." alt="" coords="5,155,365,181"><area shape="rect" id="node4" href="classExiv2_1_1Internal_1_1TiffEntryBase.html" title="This abstract base class provides the common functionality of an IFD directory entry..." alt="" coords="25,80,345,107"><area shape="rect" id="node6" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern)..." alt="" coords="25,5,345,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::Internal::TiffDataEntry:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Internal_1_1TiffDataEntry__coll__graph.png" border="0" usemap="#Exiv2_1_1Internal_1_1TiffDataEntry__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1Internal_1_1TiffDataEntry__coll__map">
<area shape="rect" id="node2" href="classExiv2_1_1Internal_1_1TiffDataEntryBase.html" title="Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets..." alt="" coords="112,173,472,200"><area shape="rect" id="node4" href="classExiv2_1_1Internal_1_1TiffEntryBase.html" title="This abstract base class provides the common functionality of an IFD directory entry..." alt="" coords="132,96,452,123"><area shape="rect" id="node6" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern)..." alt="" coords="5,5,325,32"><area shape="rect" id="node8" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="349,5,491,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1Internal_1_1TiffDataEntry-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="d34179ec574fbbde593ef84bdb3d3431"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::TiffDataEntry" ref="d34179ec574fbbde593ef84bdb3d3431" args="(uint16_t tag, uint16_t group, uint16_t szTag, uint16_t szGroup)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#d34179ec574fbbde593ef84bdb3d3431">TiffDataEntry</a> (uint16_t tag, uint16_t group, uint16_t szTag, uint16_t szGroup)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1493b656b1ed5af0bfe12c2a046aed8a"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::~TiffDataEntry" ref="1493b656b1ed5af0bfe12c2a046aed8a" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#1493b656b1ed5af0bfe12c2a046aed8a">~TiffDataEntry</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">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#0797570b12ff8fdfa559b3b561aae4b1">setStrips</a> (const <a class="el" href="classExiv2_1_1Value.html">Value</a> *pSize, const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *pData, uint32_t sizeData, uint32_t baseOffset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data areas ("strips").  <a href="#0797570b12ff8fdfa559b3b561aae4b1"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected 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"><a class="anchor" name="07704cc7549cc755b5ed872d4d590b67"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::doAccept" ref="07704cc7549cc755b5ed872d4d590b67" args="(TiffVisitor &amp;visitor)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#07704cc7549cc755b5ed872d4d590b67">doAccept</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffVisitor.html">TiffVisitor</a> &amp;visitor)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#e76a57686b20b3f0db99dd43162e6aef" title="Interface to accept visitors (Visitor pattern). Visitors can perform operations on...">accept()</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd4141f7a3a1295a6830d58261b671dc"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::doEncode" ref="cd4141f7a3a1295a6830d58261b671dc" args="(TiffEncoder &amp;encoder, const Exifdatum *datum)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#cd4141f7a3a1295a6830d58261b671dc">doEncode</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffEncoder.html">TiffEncoder</a> &amp;encoder, const <a class="el" href="classExiv2_1_1Exifdatum.html">Exifdatum</a> *datum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffEntryBase.html#120f4553c20edd9a3bedb5bfb2b70627" title="Encode a TIFF component from the metadatum provided and information from the encoder...">encode()</a>. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Write support (Manipulators)</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#e279720c99381a36bedcad1170d66def">doWrite</a> (<a class="el" href="namespaceExiv2.html#6e7b9a2ef47caec919b15f1ae6ff4872">Blob</a> &amp;blob, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &amp;imageIdx)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#55718c4016169c10a3f798aa5f578ef2" title="Write a TiffComponent to a binary image.">write()</a>. Write pointers into the data area to the <em>blob</em>, relative to the offsets in the value. Return the number of bytes written. The <em>valueIdx</em> argument is not used.  <a href="#e279720c99381a36bedcad1170d66def"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Write support (Accessors)</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de9aef768c1e26e08c0e2769c9ea4f46"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::doWriteData" ref="de9aef768c1e26e08c0e2769c9ea4f46" args="(Blob &amp;blob, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &amp;imageIdx) const " -->
virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#de9aef768c1e26e08c0e2769c9ea4f46">doWriteData</a> (<a class="el" href="namespaceExiv2.html#6e7b9a2ef47caec919b15f1ae6ff4872">Blob</a> &amp;blob, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &amp;imageIdx) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#785a467e54a53a59858ef2675c209cb4" title="Write the IFD data of this component to a binary image. Return the number of bytes...">writeData()</a>. Write the data area to the blob. Return the number of bytes written. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="991968abde45dd11ba59858aa58f80e7"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::doSizeData" ref="991968abde45dd11ba59858aa58f80e7" args="() const " -->
virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#991968abde45dd11ba59858aa58f80e7">doSizeData</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#5c6eabeeb172dd41745f6713bcfcb34f" title="Return the size in bytes of the IFD data of this component when written to a binary...">sizeData()</a>. Return the size of the data area. <br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5dd5ce530d9b1012873f50e10c03477d"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::TiffEncoder" ref="5dd5ce530d9b1012873f50e10c03477d" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>TiffEncoder</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related <a class="el" href="classExiv2_1_1Internal_1_1TiffSizeEntry.html" title="A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This...">TiffSizeEntry</a>, tag and group of which are set in the constructor. 
<p>
This component extracts the data areas ("strips") and makes them available in the higher level metadata. It is used, e.g., for <em>Exif.Thumbnail.JPEGInterchangeFormat</em> for which the size is provided in <em>Exif.Thumbnail.JPEGInterchangeFormatLength</em>. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e279720c99381a36bedcad1170d66def"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::doWrite" ref="e279720c99381a36bedcad1170d66def" args="(Blob &amp;blob, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &amp;imageIdx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t Exiv2::Internal::TiffDataEntry::doWrite           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#6e7b9a2ef47caec919b15f1ae6ff4872">Blob</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>blob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&nbsp;</td>
          <td class="paramname"> <em>byteOrder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>valueIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>dataIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t &amp;&nbsp;</td>
          <td class="paramname"> <em>imageIdx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#55718c4016169c10a3f798aa5f578ef2" title="Write a TiffComponent to a binary image.">write()</a>. Write pointers into the data area to the <em>blob</em>, relative to the offsets in the value. Return the number of bytes written. The <em>valueIdx</em> argument is not used. 
<p>
The number of components in the value determines how many offsets are written. Set the first value to 0, the second to the size of the first data area, etc. when creating a new data entry. Offsets will be adjusted on write. The type of the value can only be signed or unsigned short or long. 
<p>Reimplemented from <a class="el" href="classExiv2_1_1Internal_1_1TiffEntryBase.html#58ac5fff015ab0e3836e3f8a7a4556a0">Exiv2::Internal::TiffEntryBase</a>.</p>

</div>
</div><p>
<a class="anchor" name="0797570b12ff8fdfa559b3b561aae4b1"></a><!-- doxytag: member="Exiv2::Internal::TiffDataEntry::setStrips" ref="0797570b12ff8fdfa559b3b561aae4b1" args="(const Value *pSize, const byte *pData, uint32_t sizeData, uint32_t baseOffset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Exiv2::Internal::TiffDataEntry::setStrips           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1Value.html">Value</a> *&nbsp;</td>
          <td class="paramname"> <em>pSize</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>pData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>sizeData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>baseOffset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the data areas ("strips"). 
<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>pSize</em>&nbsp;</td><td>Pointer to the <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata.">Value</a> holding the sizes corresponding to this data entry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pData</em>&nbsp;</td><td>Pointer to the data area. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sizeData</em>&nbsp;</td><td>Size of the data area. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>baseOffset</em>&nbsp;</td><td>Base offset into the data area. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntryBase.html#5e9e26731e696cffd810ab1ebe4a2a85">Exiv2::Internal::TiffDataEntryBase</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="tiffcomposite__int_8hpp.html">tiffcomposite_int.hpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jun 25 15:18:14 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>