<!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"/> <title>libsmbios_c library: smbios::SmbiosFactory 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.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="namespacesmbios.html">smbios</a> </li> <li><a class="el" href="classsmbios_1_1SmbiosFactory.html">smbios::SmbiosFactory</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <h1>smbios::SmbiosFactory Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="smbios::SmbiosFactory" --><!-- doxytag: inherits="factory::IFactory" --> <p>AbstractFactory that produces <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> objects. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="ISmbios_8h_source.html">ISmbios.h</a>></code></p> <div class="dynheader"> Inheritance diagram for smbios::SmbiosFactory:</div> <div class="dyncontent"> <div class="center"> <img src="classsmbios_1_1SmbiosFactory.png" usemap="#smbios::SmbiosFactory_map" alt=""/> <map id="smbios::SmbiosFactory_map" name="smbios::SmbiosFactory_map"> <area href="classfactory_1_1IFactory.html" alt="factory::IFactory" shape="rect" coords="0,0,140,24"/> </map> </div> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1SmbiosFactory.html#a8e78972be735b63e6576b245dc6915f3">~SmbiosFactory</a> () throw ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsmbios_1_1ISmbiosTable.html">ISmbiosTable</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1SmbiosFactory.html#ac5421106d2b8d21793e8b8191803de8e">getSingleton</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Recommended way to get an <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> object. <a href="#ac5421106d2b8d21793e8b8191803de8e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classsmbios_1_1ISmbiosTable.html">ISmbiosTable</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1SmbiosFactory.html#aa50e9230823771f49f97f415d464ba49">makeNew</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> object that the caller must delete. (NOT RECOMMENDED). <a href="#aa50e9230823771f49f97f415d464ba49"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classsmbios_1_1SmbiosFactory.html">SmbiosFactory</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1SmbiosFactory.html#acd0d5087eb627564844fb555a2e4ae91">getFactory</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a factory object that you can use to create <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> objects. <a href="#acd0d5087eb627564844fb555a2e4ae91"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1SmbiosFactory.html#a5d98a391a3e2ba9a724ccbea6e4f0a04">SmbiosFactory</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Use <a class="el" href="classsmbios_1_1SmbiosFactory.html#acd0d5087eb627564844fb555a2e4ae91" title="Create a factory object that you can use to create ISmbiosTable objects.">getFactory()</a> to get a factory. <a href="#a5d98a391a3e2ba9a724ccbea6e4f0a04"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>AbstractFactory that produces <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> objects. </p> <p>The <a class="el" href="classsmbios_1_1SmbiosFactory.html" title="AbstractFactory that produces ISmbiosTable objects.">SmbiosFactory</a> class is based on the Factory design pattern. The <a class="el" href="classsmbios_1_1SmbiosFactory.html" title="AbstractFactory that produces ISmbiosTable objects.">SmbiosFactory</a> is the recommended method to create <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> objects.</p> <p>The <a class="el" href="classsmbios_1_1SmbiosFactory.html#ac5421106d2b8d21793e8b8191803de8e" title="Recommended way to get an ISmbiosTable object.">getSingleton()</a> is the recommended method to call to create tables. You need not delete the pointer returned by this method, it will be delete by the factory when it is <a class="el" href="classfactory_1_1IFactory.html#af41d62153ab041788b9e341c6bdc89fb">reset()</a> or destructed.</p> <p>Most users of the factory need call nothing more than <a class="el" href="classsmbios_1_1SmbiosFactory.html#acd0d5087eb627564844fb555a2e4ae91" title="Create a factory object that you can use to create ISmbiosTable objects.">getFactory()</a> and then <a class="el" href="classsmbios_1_1SmbiosFactory.html#ac5421106d2b8d21793e8b8191803de8e" title="Recommended way to get an ISmbiosTable object.">getSingleton()</a> on the returned factory object.</p> <p>Advanced users can call <a class="el" href="classfactory_1_1IFactory.html#a7dd6d02af358ba1742166ef2d5192e28">setParameter()</a> to set up internal factory variables that control creation of tables. </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a8e78972be735b63e6576b245dc6915f3"></a><!-- doxytag: member="smbios::SmbiosFactory::~SmbiosFactory" ref="a8e78972be735b63e6576b245dc6915f3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual smbios::SmbiosFactory::~SmbiosFactory </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> throw ()<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a5d98a391a3e2ba9a724ccbea6e4f0a04"></a><!-- doxytag: member="smbios::SmbiosFactory::SmbiosFactory" ref="a5d98a391a3e2ba9a724ccbea6e4f0a04" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">smbios::SmbiosFactory::SmbiosFactory </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Use <a class="el" href="classsmbios_1_1SmbiosFactory.html#acd0d5087eb627564844fb555a2e4ae91" title="Create a factory object that you can use to create ISmbiosTable objects.">getFactory()</a> to get a factory. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="acd0d5087eb627564844fb555a2e4ae91"></a><!-- doxytag: member="smbios::SmbiosFactory::getFactory" ref="acd0d5087eb627564844fb555a2e4ae91" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classsmbios_1_1SmbiosFactory.html">SmbiosFactory</a>* smbios::SmbiosFactory::getFactory </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a factory object that you can use to create <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> objects. </p> <p>Factory entry point: This is the method to call to get a handle to the <a class="el" href="classsmbios_1_1SmbiosFactory.html" title="AbstractFactory that produces ISmbiosTable objects.">SmbiosFactory</a>. The <a class="el" href="classsmbios_1_1SmbiosFactory.html" title="AbstractFactory that produces ISmbiosTable objects.">SmbiosFactory</a> is the recommended method to create <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> objects.</p> <p>The <a class="el" href="classsmbios_1_1SmbiosFactory.html#ac5421106d2b8d21793e8b8191803de8e" title="Recommended way to get an ISmbiosTable object.">getSingleton()</a> is the recommended method to call to create tables. You need not delete the pointer returned by this method, it will be deleted by the factory when it is <a class="el" href="classfactory_1_1IFactory.html#af41d62153ab041788b9e341c6bdc89fb">reset()</a> or destructed.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>Singleton <a class="el" href="classsmbios_1_1SmbiosFactory.html" title="AbstractFactory that produces ISmbiosTable objects.">SmbiosFactory</a> object pointer. </dd></dl> </div> </div> <a class="anchor" id="ac5421106d2b8d21793e8b8191803de8e"></a><!-- doxytag: member="smbios::SmbiosFactory::getSingleton" ref="ac5421106d2b8d21793e8b8191803de8e" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classsmbios_1_1ISmbiosTable.html">ISmbiosTable</a>* smbios::SmbiosFactory::getSingleton </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Recommended way to get an <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> object. </p> <p><a class="el" href="classsmbios_1_1SmbiosFactory.html#ac5421106d2b8d21793e8b8191803de8e" title="Recommended way to get an ISmbiosTable object.">getSingleton()</a> returns a pointer to a Singleton <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> object. The user need not delete the pointer returned by this method. The singleton will be deleted when the factory is destructed or the <a class="el" href="classfactory_1_1IFactory.html#af41d62153ab041788b9e341c6bdc89fb">reset()</a> method is called </p> <dl class="return"><dt><b>Returns:</b></dt><dd>(<a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> *) -- Factory manages lifetime, do not delete. </dd></dl> </div> </div> <a class="anchor" id="aa50e9230823771f49f97f415d464ba49"></a><!-- doxytag: member="smbios::SmbiosFactory::makeNew" ref="aa50e9230823771f49f97f415d464ba49" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classsmbios_1_1ISmbiosTable.html">ISmbiosTable</a>* smbios::SmbiosFactory::makeNew </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a new <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> object that the caller must delete. (NOT RECOMMENDED). </p> <p>The <a class="el" href="classsmbios_1_1SmbiosFactory.html#aa50e9230823771f49f97f415d464ba49" title="Create a new ISmbiosTable object that the caller must delete. (NOT RECOMMENDED).">makeNew()</a> method returns a pointer to a newly allocated <a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> object. The caller is responsible for deleting this reference when it is finished with it. It is recommended that the caller store the pointer in an std::auto_ptr<ISmbiosTable>.</p> <p>The <a class="el" href="classsmbios_1_1SmbiosFactory.html#ac5421106d2b8d21793e8b8191803de8e" title="Recommended way to get an ISmbiosTable object.">getSingleton()</a> method is preferred over this method.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>(<a class="el" href="classsmbios_1_1ISmbiosTable.html" title="Interface definition for Smbios Table operations.">ISmbiosTable</a> *) -- caller must delete </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>/builddir/build/BUILD/libsmbios-2.2.26/src/include/smbios/<a class="el" href="ISmbios_8h_source.html">ISmbios.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Tue Oct 5 2010 for libsmbios_c library by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>