Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates > by-pkgid > 12cd2b60e7ffa1b93f26cacdd7197eb9 > files > 284

exiv2-doc-0.24-5.1.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>Exiv2: Exiv2::ImageFactory Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Exiv2
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;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>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceExiv2.html">Exiv2</a></li><li class="navelem"><a class="el" href="classExiv2_1_1ImageFactory.html">ImageFactory</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classExiv2_1_1ImageFactory-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Exiv2::ImageFactory Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Returns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance of the specified type.  
 <a href="classExiv2_1_1ImageFactory.html#details">More...</a></p>

<p><code>#include &lt;image.hpp&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a981013bdf0d31ec7f64f0f6339fe323e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a981013bdf0d31ec7f64f0f6339fe323e">open</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:a981013bdf0d31ec7f64f0f6339fe323e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the appropriate type by reading the specified file. Image type is derived from the file contents.  <a href="#a981013bdf0d31ec7f64f0f6339fe323e">More...</a><br /></td></tr>
<tr class="separator:a981013bdf0d31ec7f64f0f6339fe323e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5130bcd72fdcd2765ac40dfec3060c06"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a5130bcd72fdcd2765ac40dfec3060c06">open</a> (const <a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *data, long size)</td></tr>
<tr class="memdesc:a5130bcd72fdcd2765ac40dfec3060c06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the appropriate type by reading the provided memory. Image type is derived from the memory contents.  <a href="#a5130bcd72fdcd2765ac40dfec3060c06">More...</a><br /></td></tr>
<tr class="separator:a5130bcd72fdcd2765ac40dfec3060c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5634be654818fe1ad9d9911ef04ffe3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#ab5634be654818fe1ad9d9911ef04ffe3">open</a> (<a class="el" href="classExiv2_1_1BasicIo.html#af8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a> io)</td></tr>
<tr class="memdesc:ab5634be654818fe1ad9d9911ef04ffe3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the appropriate type by reading the provided <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance. Image type is derived from the data provided by <em>io</em>. The passed in <em>io</em> instance is (re)opened by this method.  <a href="#ab5634be654818fe1ad9d9911ef04ffe3">More...</a><br /></td></tr>
<tr class="separator:ab5634be654818fe1ad9d9911ef04ffe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66e3b04ee1e62cd0f978995def1fd495"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a66e3b04ee1e62cd0f978995def1fd495">create</a> (int type, const std::string &amp;path)</td></tr>
<tr class="memdesc:a66e3b04ee1e62cd0f978995def1fd495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the requested type by creating a new image file. If the file already exists, it will be overwritten.  <a href="#a66e3b04ee1e62cd0f978995def1fd495">More...</a><br /></td></tr>
<tr class="separator:a66e3b04ee1e62cd0f978995def1fd495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436ea4f6d7f213d389e3e9ec10264a83"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a436ea4f6d7f213d389e3e9ec10264a83">create</a> (int type)</td></tr>
<tr class="memdesc:a436ea4f6d7f213d389e3e9ec10264a83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the requested type by creating a new image in memory.  <a href="#a436ea4f6d7f213d389e3e9ec10264a83">More...</a><br /></td></tr>
<tr class="separator:a436ea4f6d7f213d389e3e9ec10264a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a047254c8b06726cc0c3733e066a0bc97"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a047254c8b06726cc0c3733e066a0bc97">create</a> (int type, <a class="el" href="classExiv2_1_1BasicIo.html#af8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a> io)</td></tr>
<tr class="memdesc:a047254c8b06726cc0c3733e066a0bc97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the requested type by writing a new image to a <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance. If the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance already contains data, it will be overwritten.  <a href="#a047254c8b06726cc0c3733e066a0bc97">More...</a><br /></td></tr>
<tr class="separator:a047254c8b06726cc0c3733e066a0bc97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93387c43470e70c700e1addb92907c40"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a93387c43470e70c700e1addb92907c40">getType</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:a93387c43470e70c700e1addb92907c40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the image type of the provided file.  <a href="#a93387c43470e70c700e1addb92907c40">More...</a><br /></td></tr>
<tr class="separator:a93387c43470e70c700e1addb92907c40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b0f62579f4a9945f525f952cb86619e"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a5b0f62579f4a9945f525f952cb86619e">getType</a> (const <a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *data, long size)</td></tr>
<tr class="memdesc:a5b0f62579f4a9945f525f952cb86619e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the image type of the provided data buffer.  <a href="#a5b0f62579f4a9945f525f952cb86619e">More...</a><br /></td></tr>
<tr class="separator:a5b0f62579f4a9945f525f952cb86619e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd5d3ab76420ec7db45cc2105f4e5907"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#abd5d3ab76420ec7db45cc2105f4e5907">getType</a> (<a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;io)</td></tr>
<tr class="memdesc:abd5d3ab76420ec7db45cc2105f4e5907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the image type of data provided by a <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance. The passed in <em>io</em> instance is (re)opened by this method.  <a href="#abd5d3ab76420ec7db45cc2105f4e5907">More...</a><br /></td></tr>
<tr class="separator:abd5d3ab76420ec7db45cc2105f4e5907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2953661dfbe37cf916e4fdeb5ef5c519"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceExiv2.html#af5f0ea6c944c786f7c4c4841fa22b16c">AccessMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#a2953661dfbe37cf916e4fdeb5ef5c519">checkMode</a> (int type, <a class="el" href="namespaceExiv2.html#acca494c8cf80f3ac8a804e1b54afffca">MetadataId</a> metadataId)</td></tr>
<tr class="memdesc:a2953661dfbe37cf916e4fdeb5ef5c519"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the access mode or supported metadata functions for an image type and a metadata type.  <a href="#a2953661dfbe37cf916e4fdeb5ef5c519">More...</a><br /></td></tr>
<tr class="separator:a2953661dfbe37cf916e4fdeb5ef5c519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9aa6dad41f17eb012d8d18e291d19f9"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ImageFactory.html#af9aa6dad41f17eb012d8d18e291d19f9">checkType</a> (int type, <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;io, bool advance)</td></tr>
<tr class="memdesc:af9aa6dad41f17eb012d8d18e291d19f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if the content of <em>io</em> is an image of <em>type</em>.  <a href="#af9aa6dad41f17eb012d8d18e291d19f9">More...</a><br /></td></tr>
<tr class="separator:af9aa6dad41f17eb012d8d18e291d19f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a5bebd97ef7c9c246e33ab1892cff87af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bebd97ef7c9c246e33ab1892cff87af"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Image::good</b> () const </td></tr>
<tr class="separator:a5bebd97ef7c9c246e33ab1892cff87af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Returns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance of the specified type. </p>
<p>The factory is implemented as a static class. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a2953661dfbe37cf916e4fdeb5ef5c519"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceExiv2.html#af5f0ea6c944c786f7c4c4841fa22b16c">AccessMode</a> Exiv2::ImageFactory::checkMode </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#acca494c8cf80f3ac8a804e1b54afffca">MetadataId</a>&#160;</td>
          <td class="paramname"><em>metadataId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the access mode or supported metadata functions for an image type and a metadata type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The image type. </td></tr>
    <tr><td class="paramname">metadataId</td><td>The metadata identifier. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Access mode for the requested image type and metadata identifier. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error(13)</td><td>if the image type is not supported. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="namespaceExiv2.html#aea35ee7a596e1d47d1ffbb553cfb688d">Exiv2::find()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Image.html#aa50060fa3ee369575b26468021858586">Exiv2::Image::checkMode()</a>.</p>

</div>
</div>
<a class="anchor" id="af9aa6dad41f17eb012d8d18e291d19f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Exiv2::ImageFactory::checkType </td>
          <td>(</td>
          <td class="paramtype">int&#160;</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">BasicIo</a> &amp;&#160;</td>
          <td class="paramname"><em>io</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>advance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determine if the content of <em>io</em> is an image of <em>type</em>. </p>
<p>The <em>advance</em> 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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>Type of the image. </td></tr>
    <tr><td class="paramname">io</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 class="paramname">advance</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>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the data matches the type of this class;<br />
 false if the data does not match </dd></dl>

<p>References <a class="el" href="namespaceExiv2.html#aea35ee7a596e1d47d1ffbb553cfb688d">Exiv2::find()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Image.html#a057cb663d5666ca5c0515a3957d15102">Exiv2::Image::good()</a>.</p>

</div>
</div>
<a class="anchor" id="a66e3b04ee1e62cd0f978995def1fd495"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a> Exiv2::ImageFactory::create </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the requested type by creating a new image file. If the file already exists, it will be overwritten. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>Type of the image to be created. </td></tr>
    <tr><td class="paramname">path</td><td>Image file to create. File extension is ignored. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An auto-pointer that owns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance of the requested type. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error</td><td>If the image type is not supported. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classExiv2_1_1FileIo.html#ae0a881364b273ff14fb90c9375e9378b">Exiv2::FileIo::close()</a>, <a class="el" href="classExiv2_1_1FileIo.html#a1793ddca7f8c94619ceae7a127da73c2">Exiv2::FileIo::open()</a>, and <a class="el" href="namespaceExiv2.html#a086796c27d01f4618a158a0e56905f72">Exiv2::strError()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1ImageFactory.html#a436ea4f6d7f213d389e3e9ec10264a83">create()</a>.</p>

</div>
</div>
<a class="anchor" id="a436ea4f6d7f213d389e3e9ec10264a83"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a> Exiv2::ImageFactory::create </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the requested type by creating a new image in memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>Type of the image to be created. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An auto-pointer that owns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance of the requested type. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error</td><td>If the image type is not supported </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classExiv2_1_1ImageFactory.html#a66e3b04ee1e62cd0f978995def1fd495">create()</a>.</p>

</div>
</div>
<a class="anchor" id="a047254c8b06726cc0c3733e066a0bc97"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a> Exiv2::ImageFactory::create </td>
          <td>(</td>
          <td class="paramtype">int&#160;</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#af8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a>&#160;</td>
          <td class="paramname"><em>io</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the requested type by writing a new image to a <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance. If the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance already contains data, it will be overwritten. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>Type of the image to be created. </td></tr>
    <tr><td class="paramname">io</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 that will be written to when creating a new image. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This method 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#aefb1351187c3d68cb2f6e45d575ef59d" title="Return a reference to the BasicIo instance being used for Io. ">Image::io()</a> method to get a temporary reference. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>An auto-pointer that owns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance of the requested type. If the image type is not supported, the pointer is 0. </dd></dl>

<p>References <a class="el" href="namespaceExiv2.html#aea35ee7a596e1d47d1ffbb553cfb688d">Exiv2::find()</a>.</p>

</div>
</div>
<a class="anchor" id="a93387c43470e70c700e1addb92907c40"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::ImageFactory::getType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the image type of the provided file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>Image file. The contents of the file are tested to determine the image type. File extension is ignored. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Image type or Image::none if the type is not recognized. </dd></dl>

<p>Referenced by <a class="el" href="classExiv2_1_1ImageFactory.html#a5b0f62579f4a9945f525f952cb86619e">getType()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b0f62579f4a9945f525f952cb86619e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::ImageFactory::getType </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the image type of the provided data buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Pointer to a data buffer containing an image. The contents of the memory are tested to determine the image type. </td></tr>
    <tr><td class="paramname">size</td><td>Number of bytes pointed to by <em>data</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Image type or Image::none if the type is not recognized. </dd></dl>

<p>References <a class="el" href="classExiv2_1_1ImageFactory.html#a93387c43470e70c700e1addb92907c40">getType()</a>.</p>

</div>
</div>
<a class="anchor" id="abd5d3ab76420ec7db45cc2105f4e5907"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::ImageFactory::getType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&#160;</td>
          <td class="paramname"><em>io</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the image type of data provided by a <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance. The passed in <em>io</em> instance is (re)opened by this method. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">io</td><td>A <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance that provides image data. The contents of the image data are tested to determine the type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Image type or Image::none if the type is not recognized. </dd></dl>

<p>References <a class="el" href="namespaceExiv2_1_1ImageType.html#a0fa6a19fc7872d83957727f1c1dde0bc">Exiv2::ImageType::none</a>, and <a class="el" href="classExiv2_1_1BasicIo.html#a1beff0dcdf03510bad13b6946379c5f2">Exiv2::BasicIo::open()</a>.</p>

</div>
</div>
<a class="anchor" id="a981013bdf0d31ec7f64f0f6339fe323e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a> Exiv2::ImageFactory::open </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the appropriate type by reading the specified file. Image type is derived from the file contents. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>Image file. The contents of the file are tested to determine the image type. File extension is ignored. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An auto-pointer that owns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance whose type matches that of the file. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error</td><td>If opening the file fails or it contains data of an unknown image type. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="addmoddel_8cpp-example.html#a19">addmoddel.cpp</a>, <a class="el" href="exifcomment_8cpp-example.html#a0">exifcomment.cpp</a>, <a class="el" href="exifprint_8cpp-example.html#a0">exifprint.cpp</a>, <a class="el" href="iptceasy_8cpp-example.html#a4">iptceasy.cpp</a>, and <a class="el" href="iptcprint_8cpp-example.html#a0">iptcprint.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="classAction_1_1Insert.html#af7540acf510da9bddf1fda7481efadb7">Action::Insert::insertThumbnail()</a>, <a class="el" href="classAction_1_1Insert.html#aa11ea4476cec1a900e86ee63111ec919">Action::Insert::insertXmpPacket()</a>, <a class="el" href="classExiv2_1_1ImageFactory.html#a5130bcd72fdcd2765ac40dfec3060c06">open()</a>, <a class="el" href="classAction_1_1Print.html#a05cf9ae1ba5de0d592f1e4bfea4d5e40">Action::Print::printComment()</a>, <a class="el" href="classAction_1_1Print.html#a8ff7b158d0af021b17484872378856db">Action::Print::printList()</a>, <a class="el" href="classAction_1_1Print.html#a9535c2bb898017531c7c85e6df5db96a">Action::Print::printPreviewList()</a>, <a class="el" href="classAction_1_1Print.html#ae75e2afef18405123890fd58be3b90aa">Action::Print::printSummary()</a>, <a class="el" href="classExiv2_1_1Rw2Image.html#a207a0726d40c8aa9456bb39ab13fd435">Exiv2::Rw2Image::readMetadata()</a>, <a class="el" href="classExiv2_1_1PgfImage.html#a5af0948267616b7954d5f95c84441e82">Exiv2::PgfImage::readMetadata()</a>, <a class="el" href="classAction_1_1Rename.html#ab2b811ad1f5ae80e882b9b2b903dbfbb">Action::Rename::run()</a>, <a class="el" href="classAction_1_1Adjust.html#a790b327a3dc85d91fddf2684bd93130e">Action::Adjust::run()</a>, <a class="el" href="classAction_1_1Erase.html#a958425244c6b3eba57d6d229b6eebf99">Action::Erase::run()</a>, <a class="el" href="classAction_1_1Modify.html#aac2ae1f0a022ea315e722d406374231f">Action::Modify::run()</a>, <a class="el" href="classAction_1_1FixIso.html#a31127eb0657747906d338772b09edd81">Action::FixIso::run()</a>, <a class="el" href="classAction_1_1FixCom.html#a7830e2b278b1a356ccb6ccd82a8a7b2b">Action::FixCom::run()</a>, <a class="el" href="classAction_1_1Extract.html#aaad8e01ae2d18aa6d67eb68b201f7321">Action::Extract::writePreviews()</a>, and <a class="el" href="classAction_1_1Extract.html#adb8ff97d1933f2dcab9fd6457cca6d03">Action::Extract::writeThumbnail()</a>.</p>

</div>
</div>
<a class="anchor" id="a5130bcd72fdcd2765ac40dfec3060c06"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a> Exiv2::ImageFactory::open </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the appropriate type by reading the provided memory. Image type is derived from the memory contents. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>Pointer to a data buffer containing an image. The contents of the memory are tested to determine the image type. </td></tr>
    <tr><td class="paramname">size</td><td>Number of bytes pointed to by <em>data</em>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An auto-pointer that owns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance whose type matches that of the data buffer. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error</td><td>If the memory contains data of an unknown image type. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classExiv2_1_1ImageFactory.html#a981013bdf0d31ec7f64f0f6339fe323e">open()</a>.</p>

</div>
</div>
<a class="anchor" id="ab5634be654818fe1ad9d9911ef04ffe3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Image.html#a89ad3ffe7a4e8a943d267d77843415fb">Image::AutoPtr</a> Exiv2::ImageFactory::open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html#af8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a>&#160;</td>
          <td class="paramname"><em>io</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> subclass of the appropriate type by reading the provided <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> instance. Image type is derived from the data provided by <em>io</em>. The passed in <em>io</em> instance is (re)opened by this method. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">io</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 that provides image data. The contents of the image data are tested to determine the type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This method 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#aefb1351187c3d68cb2f6e45d575ef59d" title="Return a reference to the BasicIo instance being used for Io. ">Image::io()</a> method to get a temporary reference. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>An auto-pointer that owns an <a class="el" href="classExiv2_1_1Image.html" title="Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2...">Image</a> instance whose type matches that of the <em>io</em> data. If no image type could be determined, the pointer is 0. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error</td><td>If opening the <a class="el" href="classExiv2_1_1BasicIo.html" title="An interface for simple binary IO. ">BasicIo</a> fails </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="namespaceExiv2_1_1ImageType.html#a0fa6a19fc7872d83957727f1c1dde0bc">Exiv2::ImageType::none</a>, and <a class="el" href="namespaceExiv2.html#a086796c27d01f4618a158a0e56905f72">Exiv2::strError()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="image_8hpp.html">image.hpp</a></li>
<li>image.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Mar 4 2016 17:51:50 for Exiv2 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>