<!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::ISmbiosItem 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_1ISmbiosItem.html">smbios::ISmbiosItem</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <h1>smbios::ISmbiosItem Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="smbios::ISmbiosItem" --> <p>Interface definition for Smbios Item operations. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="ISmbios_8h_source.html">ISmbios.h</a>></code></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom">{ <a class="el" href="classsmbios_1_1ISmbiosItem.html#add1e30de0e09502bf4f7b22d546e4d02af1fa5bcd58de5a09363db9dcb5a5266c">FIELD_LEN_BYTE</a> = 1, <a class="el" href="classsmbios_1_1ISmbiosItem.html#add1e30de0e09502bf4f7b22d546e4d02a4ed604a4668243eb0d51b9d1b9b9ed9b">FIELD_LEN_WORD</a> = 2, <a class="el" href="classsmbios_1_1ISmbiosItem.html#add1e30de0e09502bf4f7b22d546e4d02ab64bb2b0252013ac43a19fc3d82bd6b8">FIELD_LEN_DWORD</a> = 4, <a class="el" href="classsmbios_1_1ISmbiosItem.html#add1e30de0e09502bf4f7b22d546e4d02ac52ea7f8bb3dfa94c86b74fd9b404ce7">FIELD_LEN_QWORD</a> = 8 }</td></tr> <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_1ISmbiosItem.html#a347a7e9ea2b7b38cfac95746f362b2b4">~ISmbiosItem</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#a9bb8211589f1b84dfcfc13a369e51600">ISmbiosItem</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual std::auto_ptr< const <br class="typebreak"/> <a class="el" href="classsmbios_1_1ISmbiosItem.html">ISmbiosItem</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#aa32075cb6f7a7d2876fe480f905a72a2">clone</a> () const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual std::auto_ptr<br class="typebreak"/> < <a class="el" href="classsmbios_1_1ISmbiosItem.html">ISmbiosItem</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#a2ed6941946985a65855a6468a48716a0">clone</a> ()=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#a7a331ce5284e45d063fd67fa516edb0f">getType</a> () const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#ace865d9ed62e3afed7eaa137563c9815">getLength</a> () const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="types_8h.html#a9e6c91d77e24643b888dbd1a1a590054">u16</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#a06efc11ad23312e4e52214757cbce85a">getHandle</a> () const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#a092c7cce7fb509a78936a54aeeca9c1c">getData</a> (unsigned int offset, <a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> *out, size_t size) const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#ace295ad063652de215c7bc8abb8efefa">getBufferCopy</a> (size_t &length) const =0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#a67462fa86157c71f08adad0d7347054f">getBufferSize</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the buffer size of the item. <a href="#a67462fa86157c71f08adad0d7347054f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#a3b3ffac109c3798f7d48dc12f64b62e7">getStringByStringNumber</a> (<a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a>) const =0</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">virtual std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#aa16b721a71d933555b5668c50c9b8133">streamify</a> (std::ostream &cout) const =0</td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="classsmbios_1_1ISmbiosItem.html#ad1ae766e94e8f56fbb8e308d392576b8">operator<<</a> (std::ostream &cout, const <a class="el" href="classsmbios_1_1ISmbiosItem.html">ISmbiosItem</a> &item)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Interface definition for Smbios Item operations. </p> <hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="add1e30de0e09502bf4f7b22d546e4d02"></a><!-- doxytag: member="smbios::ISmbiosItem::@2" ref="add1e30de0e09502bf4f7b22d546e4d02" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="add1e30de0e09502bf4f7b22d546e4d02af1fa5bcd58de5a09363db9dcb5a5266c"></a><!-- doxytag: member="FIELD_LEN_BYTE" ref="add1e30de0e09502bf4f7b22d546e4d02af1fa5bcd58de5a09363db9dcb5a5266c" args="" -->FIELD_LEN_BYTE</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="add1e30de0e09502bf4f7b22d546e4d02a4ed604a4668243eb0d51b9d1b9b9ed9b"></a><!-- doxytag: member="FIELD_LEN_WORD" ref="add1e30de0e09502bf4f7b22d546e4d02a4ed604a4668243eb0d51b9d1b9b9ed9b" args="" -->FIELD_LEN_WORD</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="add1e30de0e09502bf4f7b22d546e4d02ab64bb2b0252013ac43a19fc3d82bd6b8"></a><!-- doxytag: member="FIELD_LEN_DWORD" ref="add1e30de0e09502bf4f7b22d546e4d02ab64bb2b0252013ac43a19fc3d82bd6b8" args="" -->FIELD_LEN_DWORD</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="add1e30de0e09502bf4f7b22d546e4d02ac52ea7f8bb3dfa94c86b74fd9b404ce7"></a><!-- doxytag: member="FIELD_LEN_QWORD" ref="add1e30de0e09502bf4f7b22d546e4d02ac52ea7f8bb3dfa94c86b74fd9b404ce7" args="" -->FIELD_LEN_QWORD</em> </td><td> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a347a7e9ea2b7b38cfac95746f362b2b4"></a><!-- doxytag: member="smbios::ISmbiosItem::~ISmbiosItem" ref="a347a7e9ea2b7b38cfac95746f362b2b4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual smbios::ISmbiosItem::~ISmbiosItem </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor </p> </div> </div> <a class="anchor" id="a9bb8211589f1b84dfcfc13a369e51600"></a><!-- doxytag: member="smbios::ISmbiosItem::ISmbiosItem" ref="a9bb8211589f1b84dfcfc13a369e51600" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">smbios::ISmbiosItem::ISmbiosItem </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aa32075cb6f7a7d2876fe480f905a72a2"></a><!-- doxytag: member="smbios::ISmbiosItem::clone" ref="aa32075cb6f7a7d2876fe480f905a72a2" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual std::auto_ptr<const <a class="el" href="classsmbios_1_1ISmbiosItem.html">ISmbiosItem</a>> smbios::ISmbiosItem::clone </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2ed6941946985a65855a6468a48716a0"></a><!-- doxytag: member="smbios::ISmbiosItem::clone" ref="a2ed6941946985a65855a6468a48716a0" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual std::auto_ptr<<a class="el" href="classsmbios_1_1ISmbiosItem.html">ISmbiosItem</a>> smbios::ISmbiosItem::clone </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ace295ad063652de215c7bc8abb8efefa"></a><!-- doxytag: member="smbios::ISmbiosItem::getBufferCopy" ref="ace295ad063652de215c7bc8abb8efefa" args="(size_t &length) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a>* smbios::ISmbiosItem::getBufferCopy </td> <td>(</td> <td class="paramtype">size_t & </td> <td class="paramname"> <em>length</em></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a67462fa86157c71f08adad0d7347054f"></a><!-- doxytag: member="smbios::ISmbiosItem::getBufferSize" ref="a67462fa86157c71f08adad0d7347054f" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t smbios::ISmbiosItem::getBufferSize </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the buffer size of the item. </p> </div> </div> <a class="anchor" id="a092c7cce7fb509a78936a54aeeca9c1c"></a><!-- doxytag: member="smbios::ISmbiosItem::getData" ref="a092c7cce7fb509a78936a54aeeca9c1c" args="(unsigned int offset, u8 *out, size_t size) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void smbios::ISmbiosItem::getData </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> * </td> <td class="paramname"> <em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set of accessor functions: getU8(), getU16(), getU32(), and getU64() Returns a (byte|word|dword|qword) field from the Item.</p> <p>The <em>offset</em> specified is an int representing the a valid offset within the table. Method will return a u8/u16/u32/u64 (depending on function called).</p> <p>These methods all check the offset parameter for out of bounds conditions. They will throw exceptions on attempts to access data outside the length of the present item.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>The offset to the field within the Item. </td></tr> <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>void pointer to where to store output data </td></tr> <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>size of data to return</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The (byte|word|dword|qword) at <em>offset</em>. Throws smbios::SmbiosItemDataOutOfBounds or smbios::SmbiosParseException on error.</dd></dl> <dl class="warning"><dt><b>Warning:</b></dt><dd>These methods are unchecked access. There is no verification that (for example) when you use getU8() that the location you are trying to access is actually a U8. </dd></dl> </div> </div> <a class="anchor" id="a06efc11ad23312e4e52214757cbce85a"></a><!-- doxytag: member="smbios::ISmbiosItem::getHandle" ref="a06efc11ad23312e4e52214757cbce85a" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="types_8h.html#a9e6c91d77e24643b888dbd1a1a590054">u16</a> smbios::ISmbiosItem::getHandle </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the Handle field of the SMBIOS Item. This field is standard for all SMBIOS tables and is defined in the SMBIOS standard. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The Handle value. </dd></dl> </div> </div> <a class="anchor" id="ace865d9ed62e3afed7eaa137563c9815"></a><!-- doxytag: member="smbios::ISmbiosItem::getLength" ref="ace865d9ed62e3afed7eaa137563c9815" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> smbios::ISmbiosItem::getLength </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the Length field of the SMBIOS Item. This field is standard for all SMBIOS tables and is defined in the SMBIOS standard. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The Length value. </dd></dl> </div> </div> <a class="anchor" id="a3b3ffac109c3798f7d48dc12f64b62e7"></a><!-- doxytag: member="smbios::ISmbiosItem::getStringByStringNumber" ref="a3b3ffac109c3798f7d48dc12f64b62e7" args="(u8) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* smbios::ISmbiosItem::getStringByStringNumber </td> <td>(</td> <td class="paramtype"><a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Not likely to be useful to regular client code. It is public mainly to help in writing Unit Tests. Clients should normally use getString(). </p> </div> </div> <a class="anchor" id="a7a331ce5284e45d063fd67fa516edb0f"></a><!-- doxytag: member="smbios::ISmbiosItem::getType" ref="a7a331ce5284e45d063fd67fa516edb0f" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="types_8h.html#aed742c436da53c1080638ce6ef7d13de">u8</a> smbios::ISmbiosItem::getType </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the Type field of the SMBIOS Item. This field is standard for all SMBIOS tables and is defined in the SMBIOS standard. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The Type value. </dd></dl> </div> </div> <a class="anchor" id="aa16b721a71d933555b5668c50c9b8133"></a><!-- doxytag: member="smbios::ISmbiosItem::streamify" ref="aa16b721a71d933555b5668c50c9b8133" args="(std::ostream &cout) const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual std::ostream& smbios::ISmbiosItem::streamify </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"> <em>cout</em></td> <td> ) </td> <td> const<code> [protected, pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Used by 'stdostream &smbios::operator <<( std::ostream &, ISmbiosItem&)' to print out the item info.</p> <p>Not particularly useful for clients. Use operator<< instead. </p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="ad1ae766e94e8f56fbb8e308d392576b8"></a><!-- doxytag: member="smbios::ISmbiosItem::operator<<" ref="ad1ae766e94e8f56fbb8e308d392576b8" args="(std::ostream &cout, const ISmbiosItem &item)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::ostream& operator<< </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"> <em>cout</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classsmbios_1_1ISmbiosItem.html">ISmbiosItem</a> & </td> <td class="paramname"> <em>item</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> </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>