<!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: memory::MemoryFactory 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="namespacememory.html">memory</a> </li> <li><a class="el" href="classmemory_1_1MemoryFactory.html">memory::MemoryFactory</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>memory::MemoryFactory Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="memory::MemoryFactory" --><!-- doxytag: inherits="factory::IFactory" --> <p><code>#include <<a class="el" href="IMemory_8h_source.html">IMemory.h</a>></code></p> <div class="dynheader"> Inheritance diagram for memory::MemoryFactory:</div> <div class="dyncontent"> <div class="center"> <img src="classmemory_1_1MemoryFactory.png" usemap="#memory::MemoryFactory_map" alt=""/> <map id="memory::MemoryFactory_map" name="memory::MemoryFactory_map"> <area href="classfactory_1_1IFactory.html" alt="factory::IFactory" shape="rect" coords="0,0,152,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="classmemory_1_1MemoryFactory.html#aa7534f3e6ec5a967e42ba96627c05644">~MemoryFactory</a> () throw ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmemory_1_1IMemory.html">IMemory</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmemory_1_1MemoryFactory.html#aa64f114c4ce3420e79e9c53310dbb475">getSingleton</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Recommended way to get an <a class="el" href="classmemory_1_1IMemory.html">IMemory</a> object. <a href="#aa64f114c4ce3420e79e9c53310dbb475"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmemory_1_1IMemory.html">IMemory</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmemory_1_1MemoryFactory.html#ac70570ab189d1ee3e0ac81286eef6cc1">makeNew</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new <a class="el" href="classmemory_1_1IMemory.html">IMemory</a> object that the caller must delete. (NOT RECOMMENDED). <a href="#ac70570ab189d1ee3e0ac81286eef6cc1"></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="classmemory_1_1MemoryFactory.html">MemoryFactory</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmemory_1_1MemoryFactory.html#a0c1cc0f713b34c9b4ff915c475fb41f4">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="classmemory_1_1IMemory.html">IMemory</a> objects. <a href="#a0c1cc0f713b34c9b4ff915c475fb41f4"></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="classmemory_1_1MemoryFactory.html#aeb8c46ed331a46b06006f654cbc5fd26">MemoryFactory</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Use <a class="el" href="classmemory_1_1MemoryFactory.html#a0c1cc0f713b34c9b4ff915c475fb41f4" title="Create a factory object that you can use to create IMemory objects.">getFactory()</a> to get a factory. <a href="#aeb8c46ed331a46b06006f654cbc5fd26"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>The <a class="el" href="classmemory_1_1MemoryFactory.html">MemoryFactory</a> class is based on the Factory design pattern. The <a class="el" href="classmemory_1_1MemoryFactory.html">MemoryFactory</a> is the recommended method to create <a class="el" href="classmemory_1_1IMemory.html">IMemory</a> objects.</p> <p>The <a class="el" href="classmemory_1_1MemoryFactory.html#aa64f114c4ce3420e79e9c53310dbb475" title="Recommended way to get an IMemory 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="classmemory_1_1MemoryFactory.html#a0c1cc0f713b34c9b4ff915c475fb41f4" title="Create a factory object that you can use to create IMemory objects.">getFactory()</a> and then <a class="el" href="classmemory_1_1MemoryFactory.html#aa64f114c4ce3420e79e9c53310dbb475" title="Recommended way to get an IMemory 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="aa7534f3e6ec5a967e42ba96627c05644"></a><!-- doxytag: member="memory::MemoryFactory::~MemoryFactory" ref="aa7534f3e6ec5a967e42ba96627c05644" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual memory::MemoryFactory::~MemoryFactory </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="aeb8c46ed331a46b06006f654cbc5fd26"></a><!-- doxytag: member="memory::MemoryFactory::MemoryFactory" ref="aeb8c46ed331a46b06006f654cbc5fd26" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">memory::MemoryFactory::MemoryFactory </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="classmemory_1_1MemoryFactory.html#a0c1cc0f713b34c9b4ff915c475fb41f4" title="Create a factory object that you can use to create IMemory objects.">getFactory()</a> to get a factory. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a0c1cc0f713b34c9b4ff915c475fb41f4"></a><!-- doxytag: member="memory::MemoryFactory::getFactory" ref="a0c1cc0f713b34c9b4ff915c475fb41f4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classmemory_1_1MemoryFactory.html">MemoryFactory</a>* memory::MemoryFactory::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="classmemory_1_1IMemory.html">IMemory</a> objects. </p> <p>Factory entry point: This is the method to call to get a handle to the <a class="el" href="classmemory_1_1MemoryFactory.html">MemoryFactory</a>. The <a class="el" href="classmemory_1_1MemoryFactory.html">MemoryFactory</a> is the recommended method to create <a class="el" href="classmemory_1_1IMemory.html">IMemory</a> objects.</p> <p>The <a class="el" href="classmemory_1_1MemoryFactory.html#aa64f114c4ce3420e79e9c53310dbb475" title="Recommended way to get an IMemory 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="classmemory_1_1MemoryFactory.html">MemoryFactory</a> object pointer. </dd></dl> </div> </div> <a class="anchor" id="aa64f114c4ce3420e79e9c53310dbb475"></a><!-- doxytag: member="memory::MemoryFactory::getSingleton" ref="aa64f114c4ce3420e79e9c53310dbb475" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classmemory_1_1IMemory.html">IMemory</a>* memory::MemoryFactory::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="classmemory_1_1IMemory.html">IMemory</a> object. </p> <p><a class="el" href="classmemory_1_1MemoryFactory.html#aa64f114c4ce3420e79e9c53310dbb475" title="Recommended way to get an IMemory object.">getSingleton()</a> returns a pointer to a Singleton <a class="el" href="classmemory_1_1IMemory.html">IMemory</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="classmemory_1_1IMemory.html">IMemory</a> *) -- Factory manages lifetime, do not delete. </dd></dl> </div> </div> <a class="anchor" id="ac70570ab189d1ee3e0ac81286eef6cc1"></a><!-- doxytag: member="memory::MemoryFactory::makeNew" ref="ac70570ab189d1ee3e0ac81286eef6cc1" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classmemory_1_1IMemory.html">IMemory</a>* memory::MemoryFactory::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="classmemory_1_1IMemory.html">IMemory</a> object that the caller must delete. (NOT RECOMMENDED). </p> <p>The make() method returns a pointer to a newly allocated <a class="el" href="classmemory_1_1IMemory.html">IMemory</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<IMemory>.</p> <p>The <a class="el" href="classmemory_1_1MemoryFactory.html#aa64f114c4ce3420e79e9c53310dbb475" title="Recommended way to get an IMemory object.">getSingleton()</a> method is preferred over this method.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>(<a class="el" href="classmemory_1_1IMemory.html">IMemory</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="IMemory_8h_source.html">IMemory.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>