<!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.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libopenraw: OpenRaw::Internals::RawFileFactory 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="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 id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libopenraw </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceOpenRaw.html">OpenRaw</a></li><li class="navelem"><b>Internals</b></li><li class="navelem"><a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html">RawFileFactory</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="classOpenRaw_1_1Internals_1_1RawFileFactory-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">OpenRaw::Internals::RawFileFactory Class Reference</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:ac2e87b7bde0ed863a47782dada017224"><td class="memItemLeft" align="right" valign="top"><a id="ac2e87b7bde0ed863a47782dada017224"></a> typedef std::function< <a class="el" href="classOpenRaw_1_1RawFile.html">RawFile</a> *(const IO::Stream::Ptr &)> </td><td class="memItemRight" valign="bottom"><b>raw_file_factory_t</b></td></tr> <tr class="separator:ac2e87b7bde0ed863a47782dada017224"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab651365a01aa7015a7140c5957e3ce35"><td class="memItemLeft" align="right" valign="top">typedef std::map< RawFile::Type, raw_file_factory_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html#ab651365a01aa7015a7140c5957e3ce35">Table</a></td></tr> <tr class="separator:ab651365a01aa7015a7140c5957e3ce35"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5b2043be0c0f7eb754fba28817170c01"><td class="memItemLeft" align="right" valign="top"><a id="a5b2043be0c0f7eb754fba28817170c01"></a> typedef std::map< std::string, RawFile::Type > </td><td class="memItemRight" valign="bottom"><b>Extensions</b></td></tr> <tr class="separator:a5b2043be0c0f7eb754fba28817170c01"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:ac3e1e84fea8fdcf1f68bd1b6f202038d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html#ac3e1e84fea8fdcf1f68bd1b6f202038d">RawFileFactory</a> (RawFile::Type type, const raw_file_factory_t &fn, const char *ext)</td></tr> <tr class="separator:ac3e1e84fea8fdcf1f68bd1b6f202038d"><td class="memSeparator" colspan="2"> </td></tr> </table><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:a289b44c8fc3bb2417b58f40eb4e42068"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html#ab651365a01aa7015a7140c5957e3ce35">Table</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html#a289b44c8fc3bb2417b58f40eb4e42068">table</a> ()</td></tr> <tr class="separator:a289b44c8fc3bb2417b58f40eb4e42068"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1349c071328a5b105738c75539f8d6fa"><td class="memItemLeft" align="right" valign="top">static Extensions & </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html#a1349c071328a5b105738c75539f8d6fa">extensions</a> ()</td></tr> <tr class="separator:a1349c071328a5b105738c75539f8d6fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a04d5f41d6f999c678170a0a154435a35"><td class="memItemLeft" align="right" valign="top">static const char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html#a04d5f41d6f999c678170a0a154435a35">fileExtensions</a> ()</td></tr> <tr class="separator:a04d5f41d6f999c678170a0a154435a35"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b954cfc8ac167dc6069022a644148d2"><td class="memItemLeft" align="right" valign="top"><a id="a7b954cfc8ac167dc6069022a644148d2"></a> static void </td><td class="memItemRight" valign="bottom"><b>registerType</b> (RawFile::Type type, const raw_file_factory_t &fn, const char *ext)</td></tr> <tr class="separator:a7b954cfc8ac167dc6069022a644148d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acacdb136fdef184ac2cfda772cdcd479"><td class="memItemLeft" align="right" valign="top"><a id="acacdb136fdef184ac2cfda772cdcd479"></a> static void </td><td class="memItemRight" valign="bottom"><b>unRegisterType</b> (RawFile::Type type)</td></tr> <tr class="separator:acacdb136fdef184ac2cfda772cdcd479"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"> <p class="definition">Definition at line <a class="el" href="rawfilefactory_8hpp_source.html#l00034">34</a> of file <a class="el" href="rawfilefactory_8hpp_source.html">rawfilefactory.hpp</a>.</p> </div><h2 class="groupheader">Member Typedef Documentation</h2> <a id="ab651365a01aa7015a7140c5957e3ce35"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab651365a01aa7015a7140c5957e3ce35">◆ </a></span>Table</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::map<RawFile::Type, raw_file_factory_t> <a class="el" href="classOpenRaw_1_1Internals_1_1RawFileFactory.html#ab651365a01aa7015a7140c5957e3ce35">OpenRaw::Internals::RawFileFactory::Table</a></td> </tr> </table> </div><div class="memdoc"> <p>the factory type for raw files key is the extension. file is factory method </p> <p class="definition">Definition at line <a class="el" href="rawfilefactory_8hpp_source.html#l00042">42</a> of file <a class="el" href="rawfilefactory_8hpp_source.html">rawfilefactory.hpp</a>.</p> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="ac3e1e84fea8fdcf1f68bd1b6f202038d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac3e1e84fea8fdcf1f68bd1b6f202038d">◆ </a></span>RawFileFactory()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">OpenRaw::Internals::RawFileFactory::RawFileFactory </td> <td>(</td> <td class="paramtype">RawFile::Type </td> <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const raw_file_factory_t & </td> <td class="paramname"><em>fn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>ext</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>register a filetype with the factory </p><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">type</td><td>the type of file </td></tr> <tr><td class="paramname">fn</td><td>the factory method </td></tr> <tr><td class="paramname">ext</td><td>the extension associated </td></tr> </table> </dd> </dl> <dl class="section note"><dt>Note</dt><dd>it is safe to call this method with the same fn and type to register a different extension </dd></dl> <p class="definition">Definition at line <a class="el" href="rawfilefactory_8cpp_source.html#l00039">39</a> of file <a class="el" href="rawfilefactory_8cpp_source.html">rawfilefactory.cpp</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="a1349c071328a5b105738c75539f8d6fa"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1349c071328a5b105738c75539f8d6fa">◆ </a></span>extensions()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">RawFileFactory::Extensions & OpenRaw::Internals::RawFileFactory::extensions </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>access the extensions table. Ensure that it has been constructed. </p> <p>the factory table </p> <p class="definition">Definition at line <a class="el" href="rawfilefactory_8hpp_source.html#l00083">83</a> of file <a class="el" href="rawfilefactory_8hpp_source.html">rawfilefactory.hpp</a>.</p> </div> </div> <a id="a04d5f41d6f999c678170a0a154435a35"></a> <h2 class="memtitle"><span class="permalink"><a href="#a04d5f41d6f999c678170a0a154435a35">◆ </a></span>fileExtensions()</h2> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const char ** OpenRaw::Internals::RawFileFactory::fileExtensions </td> <td>(</td> <td class="paramname"></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>access the the list of file extenstions registered. </p> <p class="definition">Definition at line <a class="el" href="rawfilefactory_8cpp_source.html#l00069">69</a> of file <a class="el" href="rawfilefactory_8cpp_source.html">rawfilefactory.cpp</a>.</p> </div> </div> <a id="a289b44c8fc3bb2417b58f40eb4e42068"></a> <h2 class="memtitle"><span class="permalink"><a href="#a289b44c8fc3bb2417b58f40eb4e42068">◆ </a></span>table()</h2> <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="classOpenRaw_1_1Internals_1_1RawFileFactory.html#ab651365a01aa7015a7140c5957e3ce35">RawFileFactory::Table</a> & OpenRaw::Internals::RawFileFactory::table </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>access the table. Ensure that it has been constructed.</p> <p>accessor. This make sure the instance has been constructed when needed </p> <p>the factory table </p> <p class="definition">Definition at line <a class="el" href="rawfilefactory_8hpp_source.html#l00076">76</a> of file <a class="el" href="rawfilefactory_8hpp_source.html">rawfilefactory.hpp</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>lib/<a class="el" href="rawfilefactory_8hpp_source.html">rawfilefactory.hpp</a></li> <li>lib/<a class="el" href="rawfilefactory_8cpp_source.html">rawfilefactory.cpp</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>