Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > e31b59fe09ff595814e8029d984f51c5 > files > 496

lib64exiv2_2-devel-0.16-3mdv2008.1.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::Nikon2MakerNote 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.5.4 -->
<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="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>
    <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="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_1Nikon2MakerNote.html">Nikon2MakerNote</a></div>
<h1>Exiv2::Nikon2MakerNote Class Reference</h1><!-- doxytag: class="Exiv2::Nikon2MakerNote" --><!-- doxytag: inherits="Exiv2::IfdMakerNote" -->A second <a class="el" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface.">MakerNote</a> format used by Nikon cameras, including the E700, E800, E900, E900S, E910, E950.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;nikonmn.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::Nikon2MakerNote:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Nikon2MakerNote__inherit__graph.png" border="0" usemap="#Exiv2_1_1Nikon2MakerNote__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1Nikon2MakerNote__inherit__map">
<area shape="rect" href="classExiv2_1_1IfdMakerNote.html" title="Interface for MakerNotes in IFD format. See MakerNote." alt="" coords="20,82,231,106"><area shape="rect" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface." alt="" coords="35,7,216,31"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::Nikon2MakerNote:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Nikon2MakerNote__coll__graph.png" border="0" usemap="#Exiv2_1_1Nikon2MakerNote__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1Nikon2MakerNote__coll__map">
<area shape="rect" href="classExiv2_1_1IfdMakerNote.html" title="Interface for MakerNotes in IFD format. See MakerNote." alt="" coords="165,182,376,206"><area shape="rect" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface." alt="" coords="5,94,187,118"><area shape="rect" href="classExiv2_1_1Ifd.html" title="Models an IFD (Image File Directory)." alt="" coords="211,94,331,118"><area shape="rect" title="STL class." alt="" coords="180,6,361,30"><area shape="rect" href="classExiv2_1_1DataBuf.html" title="Utility class containing a character array. All it does is to take care of memory..." alt="" coords="355,94,515,118"><area shape="rect" href="structExiv2_1_1TagInfo.html" title="Tag information." alt="" coords="400,182,560,206"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1Nikon2MakerNote-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Accessors</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#497c6b5fa6b456e7073dca50df6fd815">checkHeader</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check the makernote header. This will typically check if a required prefix string is present in the header. Return 0 if successful.  <a href="#497c6b5fa6b456e7073dca50df6fd815"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#bc14ae8aa4229184cd159e406aa45671">create</a> (bool alloc=true) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an auto-pointer to an newly created, empty instance of the same type as this. The makernote entries are <b>not</b> copied. The caller owns the new object and the auto-pointer ensures that it will be deleted.  <a href="#bc14ae8aa4229184cd159e406aa45671"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#87e3e755ded8e4e0dc44e083d3ba77c0">clone</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an auto-pointer to a clone of this object. The caller owns the new object and the auto-pointer ensures that it will be deleted.  <a href="#87e3e755ded8e4e0dc44e083d3ba77c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c72409b2c17acac359a4d9328b7b61d1"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::tagList" ref="c72409b2c17acac359a4d9328b7b61d1" args="()" -->
static const <a class="el" href="structExiv2_1_1TagInfo.html">TagInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#c72409b2c17acac359a4d9328b7b61d1">tagList</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return read-only list of built-in Nikon2 tags. <br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bfaabe576dd0261c4e335c2c55529ebb"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::AutoPtr" ref="bfaabe576dd0261c4e335c2c55529ebb" args="" -->
typedef std::auto_ptr<br>
&lt; <a class="el" href="classExiv2_1_1Nikon2MakerNote.html">Nikon2MakerNote</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#bfaabe576dd0261c4e335c2c55529ebb">AutoPtr</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut for a Nikon2MakerNote auto pointer. <br></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="d8f4ead4c913b478ffec1339a5304798"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::Nikon2MakerNote" ref="d8f4ead4c913b478ffec1339a5304798" args="(bool alloc=true)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#d8f4ead4c913b478ffec1339a5304798">Nikon2MakerNote</a> (bool alloc=true)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Allows to choose whether or not memory management is required for the makernote entries. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fefbd3fcff4a081432e897812e8f8dc5"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::Nikon2MakerNote" ref="fefbd3fcff4a081432e897812e8f8dc5" args="(const Nikon2MakerNote &amp;rhs)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#fefbd3fcff4a081432e897812e8f8dc5">Nikon2MakerNote</a> (const <a class="el" href="classExiv2_1_1Nikon2MakerNote.html">Nikon2MakerNote</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d02f9cb97a00dc2a229a582502dd0ddf"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::~Nikon2MakerNote" ref="d02f9cb97a00dc2a229a582502dd0ddf" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#d02f9cb97a00dc2a229a582502dd0ddf">~Nikon2MakerNote</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">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#e4bbe9f264447a56f17a84df44e56519">readHeader</a> (const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read the makernote header from the makernote databuffer. This method must set the offset to the start of the IFD (start_), if needed (assuming that the required information is in the header). Return 0 if successful.  <a href="#e4bbe9f264447a56f17a84df44e56519"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Print functions for Nikon2 MakerNote tags</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5b0a6ca4927cff7fdb200d13564af78"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::print0x000a" ref="f5b0a6ca4927cff7fdb200d13564af78" args="(std::ostream &amp;os, const Value &amp;value)" -->
static std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Nikon2MakerNote.html#f5b0a6ca4927cff7fdb200d13564af78">print0x000a</a> (std::ostream &amp;os, const <a class="el" href="classExiv2_1_1Value.html">Value</a> &amp;value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print digital zoom setting. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A second <a class="el" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface.">MakerNote</a> format used by Nikon cameras, including the E700, E800, E900, E900S, E910, E950. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e4bbe9f264447a56f17a84df44e56519"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::readHeader" ref="e4bbe9f264447a56f17a84df44e56519" args="(const byte *buf, long len, ByteOrder byteOrder)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::Nikon2MakerNote::readHeader           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>len</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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read the makernote header from the makernote databuffer. This method must set the offset to the start of the IFD (start_), if needed (assuming that the required information is in the header). Return 0 if successful. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The default implementation does nothing, assuming there is no header </dd></dl>

<p>Reimplemented from <a class="el" href="classExiv2_1_1IfdMakerNote.html#1dc867ed8091d29f3bbfedc90fca8e6b">Exiv2::IfdMakerNote</a>.</p>

</div>
</div><p>
<a class="anchor" name="497c6b5fa6b456e7073dca50df6fd815"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::checkHeader" ref="497c6b5fa6b456e7073dca50df6fd815" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::Nikon2MakerNote::checkHeader           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check the makernote header. This will typically check if a required prefix string is present in the header. Return 0 if successful. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The default implementation does nothing, assuming there is no header </dd></dl>

<p>Reimplemented from <a class="el" href="classExiv2_1_1IfdMakerNote.html#493d295da812b64c47f5b0c4c8bf1e6d">Exiv2::IfdMakerNote</a>.</p>

</div>
</div><p>
<a class="anchor" name="bc14ae8aa4229184cd159e406aa45671"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::create" ref="bc14ae8aa4229184cd159e406aa45671" args="(bool alloc=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">AutoPtr</a> Exiv2::Nikon2MakerNote::create           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>alloc</em> = <code>true</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return an auto-pointer to an newly created, empty instance of the same type as this. The makernote entries are <b>not</b> copied. The caller owns the new object and the auto-pointer ensures that it will be deleted. 
<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>alloc</em>&nbsp;</td><td>Memory management model for the newly created object. Indicates if memory required to store data should be allocated and deallocated (true) or not (false). If false, only pointers to the buffer provided to <a class="el" href="classExiv2_1_1IfdMakerNote.html#02885513935765dfd6e8fc515eaa7c65" title="Read the makernote, including the makernote header, from the Exif data buffer.">read()</a> will be kept. See <a class="el" href="classExiv2_1_1Ifd.html" title="Models an IFD (Image File Directory).">Ifd</a> for more background on this concept. </td></tr>
  </table>
</dl>

<p>Reimplemented from <a class="el" href="classExiv2_1_1IfdMakerNote.html#39b1cae1bd9b357341a6d9dd9289c259">Exiv2::IfdMakerNote</a>.</p>

</div>
</div><p>
<a class="anchor" name="87e3e755ded8e4e0dc44e083d3ba77c0"></a><!-- doxytag: member="Exiv2::Nikon2MakerNote::clone" ref="87e3e755ded8e4e0dc44e083d3ba77c0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">AutoPtr</a> Exiv2::Nikon2MakerNote::clone           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return an auto-pointer to a clone of this object. The caller owns the new object and the auto-pointer ensures that it will be deleted. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>In non-alloc mode the clone potentially contains pointers to the same data buffer as the original. Use <a class="el" href="classExiv2_1_1IfdMakerNote.html#76bf8e7055b37e94db5ee000db0cec9a" title="Update the base pointer of the MakerNote and all its entries to pNewBase.">updateBase(byte* pNewBase)</a> to adjust them. </dd></dl>

<p>Reimplemented from <a class="el" href="classExiv2_1_1IfdMakerNote.html#0d3bdfc3aa1b4d197547ec9a14e1520b">Exiv2::IfdMakerNote</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="nikonmn_8hpp.html">nikonmn.hpp</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Feb 5 11:51:08 2008 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.4 </small></address>
</body>
</html>