Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 2aa62c5bbb658df1fece777472a7bcf2 > files > 217

barry-devel-docs-0.17-0.3.20100730git.fc14.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"/>
<title>Barry: Barry::Builder 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.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</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="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceBarry.html">Barry</a>::<a class="el" href="classBarry_1_1Builder.html">Builder</a>
  </div>
</div>
<div class="contents">
<h1>Barry::Builder Class Reference</h1><!-- doxytag: class="Barry::Builder" -->
<p>Base class for the builder functor hierarchy.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="builder_8h_source.html">builder.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Barry::Builder:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1Builder__inherit__graph.png" border="0" usemap="#Barry_1_1Builder_inherit__map" alt="Inheritance graph"/></div>
<map name="Barry_1_1Builder_inherit__map" id="Barry_1_1Builder_inherit__map">
<area shape="rect" id="node3" href="classBarry_1_1RecordBuilder.html" title="Template class for easy creation of specific protocol packet builder objects." alt="" coords="5,86,296,117"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classBarry_1_1Builder-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Builder.html#a936d3e7b4e771fb2f7ee48476d802407">Retrieve</a> (unsigned int databaseId)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called first in the sequence, to allow the application to load the needed data from memory, disk, etc.  <a href="#a936d3e7b4e771fb2f7ee48476d802407"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Builder.html#ab586fc135c6fbe0d1f9019bc4a2639d0">GetRecType</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to retrive the unique ID for this record.  <a href="#ab586fc135c6fbe0d1f9019bc4a2639d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Builder.html#a7fd24f3f6d34bd1a6e8875ce7c242e9b">BuildHeader</a> (<a class="el" href="classBarry_1_1Data.html">Data</a> &amp;data, size_t &amp;offset)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called before <a class="el" href="classBarry_1_1Builder.html#a8414acbff050df62c01d8835115e6d18" title="Called to build the record field data.">BuildFields()</a> in order to build the header for this record.  <a href="#a7fd24f3f6d34bd1a6e8875ce7c242e9b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Builder.html#a8414acbff050df62c01d8835115e6d18">BuildFields</a> (<a class="el" href="classBarry_1_1Data.html">Data</a> &amp;data, size_t &amp;offset, const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *ic)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to build the record field data.  <a href="#a8414acbff050df62c01d8835115e6d18"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Base class for the builder functor hierarchy. </p>
<p>This defines the API used by the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> and <a class="el" href="classBarry_1_1Packet.html">Packet</a> classes for building a raw device record to write to the device. </p>

<p>Definition at line <a class="el" href="builder_8h_source.html#l00040">40</a> of file <a class="el" href="builder_8h_source.html">builder.h</a>.</p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a8414acbff050df62c01d8835115e6d18"></a><!-- doxytag: member="Barry::Builder::BuildFields" ref="a8414acbff050df62c01d8835115e6d18" args="(Data &amp;data, size_t &amp;offset, const IConverter *ic)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Barry::Builder::BuildFields </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classBarry_1_1Data.html">Data</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *&nbsp;</td>
          <td class="paramname"> <em>ic</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called to build the record field data. </p>
<p><a class="el" href="structStore.html">Store</a> the raw data in data, using offset to know where to write. Be sure to update offset, and be sure to adjust the size of the data packet (possibly with Data::ReleaseBuffer()). </p>

<p>Implemented in <a class="el" href="classBarry_1_1RecordBuilder.html#ad95441f87e80998803d1bb8cfc443c5c">Barry::RecordBuilder&lt; RecordT, StorageT &gt;</a>.</p>

<p>Referenced by <a class="el" href="packet_8cc_source.html#l00423">Barry::DBPacket::SetRecord()</a>, and <a class="el" href="packet_8cc_source.html#l00359">Barry::DBPacket::SetRecordByIndex()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1Builder_a8414acbff050df62c01d8835115e6d18_icgraph.png" border="0" usemap="#classBarry_1_1Builder_a8414acbff050df62c01d8835115e6d18_icgraph_map" alt=""></div>
<map name="classBarry_1_1Builder_a8414acbff050df62c01d8835115e6d18_icgraph_map" id="classBarry_1_1Builder_a8414acbff050df62c01d8835115e6d18_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1DBPacket.html#a26c4025403d129f658c1919190c0a0f0" title="Builds a command packet in the m_send buffer for the SET_RECORD command code." alt="" coords="256,5,451,35"/><area shape="rect" id="node7" href="classBarry_1_1DBPacket.html#a7a41833dcc12c2823cd54991161e8d26" title="Builds a command packet in the m_send buffer for the SET_RECORD_BY_INDEX command..." alt="" coords="232,58,475,89"/><area shape="rect" id="node5" href="classBarry_1_1Mode_1_1Desktop.html#a0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="523,5,755,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7fd24f3f6d34bd1a6e8875ce7c242e9b"></a><!-- doxytag: member="Barry::Builder::BuildHeader" ref="a7fd24f3f6d34bd1a6e8875ce7c242e9b" args="(Data &amp;data, size_t &amp;offset)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Barry::Builder::BuildHeader </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classBarry_1_1Data.html">Data</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;&nbsp;</td>
          <td class="paramname"> <em>offset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called before <a class="el" href="classBarry_1_1Builder.html#a8414acbff050df62c01d8835115e6d18" title="Called to build the record field data.">BuildFields()</a> in order to build the header for this record. </p>
<p><a class="el" href="structStore.html">Store</a> the raw data in data, at the offset given in offset. When finished, update offset to point to the next spot to put new data. </p>

<p>Implemented in <a class="el" href="classBarry_1_1RecordBuilder.html#ab12fe31225a41f2ebcca45dd4d4ce373">Barry::RecordBuilder&lt; RecordT, StorageT &gt;</a>.</p>

<p>Referenced by <a class="el" href="packet_8cc_source.html#l00423">Barry::DBPacket::SetRecord()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1Builder_a7fd24f3f6d34bd1a6e8875ce7c242e9b_icgraph.png" border="0" usemap="#classBarry_1_1Builder_a7fd24f3f6d34bd1a6e8875ce7c242e9b_icgraph_map" alt=""></div>
<map name="classBarry_1_1Builder_a7fd24f3f6d34bd1a6e8875ce7c242e9b_icgraph_map" id="classBarry_1_1Builder_a7fd24f3f6d34bd1a6e8875ce7c242e9b_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1DBPacket.html#a26c4025403d129f658c1919190c0a0f0" title="Builds a command packet in the m_send buffer for the SET_RECORD command code." alt="" coords="240,5,435,35"/><area shape="rect" id="node5" href="classBarry_1_1Mode_1_1Desktop.html#a0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="483,5,715,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ab586fc135c6fbe0d1f9019bc4a2639d0"></a><!-- doxytag: member="Barry::Builder::GetRecType" ref="ab586fc135c6fbe0d1f9019bc4a2639d0" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint8_t Barry::Builder::GetRecType </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called to retrive the unique ID for this record. </p>

<p>Implemented in <a class="el" href="classBarry_1_1RecordBuilder.html#a13dba30bb979be690b85ade4ce79cd7a">Barry::RecordBuilder&lt; RecordT, StorageT &gt;</a>.</p>

<p>Referenced by <a class="el" href="packet_8cc_source.html#l00423">Barry::DBPacket::SetRecord()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1Builder_ab586fc135c6fbe0d1f9019bc4a2639d0_icgraph.png" border="0" usemap="#classBarry_1_1Builder_ab586fc135c6fbe0d1f9019bc4a2639d0_icgraph_map" alt=""></div>
<map name="classBarry_1_1Builder_ab586fc135c6fbe0d1f9019bc4a2639d0_icgraph_map" id="classBarry_1_1Builder_ab586fc135c6fbe0d1f9019bc4a2639d0_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1DBPacket.html#a26c4025403d129f658c1919190c0a0f0" title="Builds a command packet in the m_send buffer for the SET_RECORD command code." alt="" coords="245,5,440,35"/><area shape="rect" id="node5" href="classBarry_1_1Mode_1_1Desktop.html#a0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="488,5,720,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a936d3e7b4e771fb2f7ee48476d802407"></a><!-- doxytag: member="Barry::Builder::Retrieve" ref="a936d3e7b4e771fb2f7ee48476d802407" args="(unsigned int databaseId)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Barry::Builder::Retrieve </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>databaseId</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Called first in the sequence, to allow the application to load the needed data from memory, disk, etc. </p>
<p>If successful, return true. If at the end of the series, return false. </p>

<p>Implemented in <a class="el" href="classBarry_1_1RecordBuilder.html#a8ce2a42e0805c1b64c6bda3aadeb040e">Barry::RecordBuilder&lt; RecordT, StorageT &gt;</a>.</p>

<p>Referenced by <a class="el" href="packet_8cc_source.html#l00423">Barry::DBPacket::SetRecord()</a>, and <a class="el" href="packet_8cc_source.html#l00359">Barry::DBPacket::SetRecordByIndex()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1Builder_a936d3e7b4e771fb2f7ee48476d802407_icgraph.png" border="0" usemap="#classBarry_1_1Builder_a936d3e7b4e771fb2f7ee48476d802407_icgraph_map" alt=""></div>
<map name="classBarry_1_1Builder_a936d3e7b4e771fb2f7ee48476d802407_icgraph_map" id="classBarry_1_1Builder_a936d3e7b4e771fb2f7ee48476d802407_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1DBPacket.html#a26c4025403d129f658c1919190c0a0f0" title="Builds a command packet in the m_send buffer for the SET_RECORD command code." alt="" coords="240,5,435,35"/><area shape="rect" id="node7" href="classBarry_1_1DBPacket.html#a7a41833dcc12c2823cd54991161e8d26" title="Builds a command packet in the m_send buffer for the SET_RECORD_BY_INDEX command..." alt="" coords="216,58,459,89"/><area shape="rect" id="node5" href="classBarry_1_1Mode_1_1Desktop.html#a0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="507,5,739,35"/></map>
</div>
</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="builder_8h_source.html">builder.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>