Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > abb2634846290d27f545cecded067e1f > files > 464

barry-devel-docs-0.17.1-4.fc14.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Barry: Barry::DBPacket Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<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="classes.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="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
      <li><a href="annotated.html"><span>Class&nbsp;List</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_1DBPacket.html">DBPacket</a>
  </div>
</div>
<div class="contents">
<h1>Barry::DBPacket Class Reference</h1><!-- doxytag: class="Barry::DBPacket" --><!-- doxytag: inherits="Barry::Packet" --><code>#include &lt;<a class="el" href="packet_8h-source.html">packet.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Barry::DBPacket:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket__inherit__graph.png" border="0" usemap="#Barry_1_1DBPacket__inherit__map" alt="Inheritance graph"></center>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Barry::DBPacket:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket__coll__graph.png" border="0" usemap="#Barry_1_1DBPacket__coll__map" alt="Collaboration graph"></center>
<map name="Barry_1_1DBPacket__coll__map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases." alt="" coords="1436,153,1583,180"><area shape="rect" href="classBarry_1_1IConverter.html" title="Main charset conversion class, primarily focused on converting between the Blackberry..." alt="" coords="1135,127,1255,153"><area shape="rect" href="classBarry_1_1Mode_1_1Mode.html" title="Base class for simple mode classes." alt="" coords="1129,177,1260,204"><area shape="rect" href="classBarry_1_1Controller.html" title="The main interface class." alt="" coords="875,368,989,395"><area shape="rect" title="STL class." alt="" coords="332,177,412,204"><area shape="rect" title="STL class." alt="" coords="7,177,172,204"><area shape="rect" href="classBarry_1_1DataQueue.html" title="This class provides a thread aware fifo queue for Data objects, providing memory..." alt="" coords="27,364,152,391"><area shape="rect" href="classBarry_1_1IConvHandle.html" title="Wrapper class for a two&#45;way iconv_t handle pair." alt="" coords="865,188,999,215"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classBarry_1_1DBPacket-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Provides an API for building and analyzing raw DB protocol packets. 
<p>
This class relies on 3 external objects: a <a class="el" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases.">Mode::Desktop</a> object, a send Data buffer, and a receive data buffer. <a class="el" href="classBarry_1_1Socket.html" title="Encapsulates a &quot;logical socket&quot; in the Blackberry USB protocol.">Socket</a> and connection details are retrieved on a readonly basis from the <a class="el" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases.">Mode::Desktop</a> object, but both send and receive buffers can be modified.<p>
Note that the receive buffer may be modified during a packet send, and this <a class="el" href="classBarry_1_1DBPacket.html" title="Provides an API for building and analyzing raw DB protocol packets.">DBPacket</a> class provides API helpers to analyze the results. 
<p>Definition at line <a class="el" href="packet_8h-source.html#l00133">133</a> of file <a class="el" href="packet_8h-source.html">packet.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#ace85c6dd63c5f85e21e9f61e10e5af5">ClearDatabase</a> (unsigned int dbId)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet for the CLEAR_DATABASE command code, placing the data in the send buffer.  <a href="#ace85c6dd63c5f85e21e9f61e10e5af5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#206e98e5159e7fe7790d4976d0f039a0">GetDBDB</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet for the GET_DBDB command code, placing the data in m_send.  <a href="#206e98e5159e7fe7790d4976d0f039a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#07e2e8ca566a1f4d7cc493983b56c32b">GetRecordStateTable</a> (unsigned int dbId)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the GET_RECORD_STATE_TABLE command.  <a href="#07e2e8ca566a1f4d7cc493983b56c32b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#9f0237393389b714f30bf56e616183dd">SetRecordFlags</a> (unsigned int dbId, unsigned int stateTableIndex, uint8_t flag1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the SET_RECORD_FLAGS command code.  <a href="#9f0237393389b714f30bf56e616183dd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#fb9625f072f936a03ebee1ac64b78bf4">DeleteRecordByIndex</a> (unsigned int dbId, unsigned int stateTableIndex)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the DELETE_RECORD_BY_INDEX command code.  <a href="#fb9625f072f936a03ebee1ac64b78bf4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#95355f6de0ab12e9eacd0727e8a66965">GetRecordByIndex</a> (unsigned int dbId, unsigned int stateTableIndex)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the GET_RECORD_BY_INDEX command code.  <a href="#95355f6de0ab12e9eacd0727e8a66965"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#7a41833dcc12c2823cd54991161e8d26">SetRecordByIndex</a> (unsigned int dbId, unsigned int stateTableIndex, <a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;build, const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *ic)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the m_send buffer for the SET_RECORD_BY_INDEX command code.  <a href="#7a41833dcc12c2823cd54991161e8d26"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#173b8eb90186edc54e8a679d7498bcb5">GetRecords</a> (unsigned int dbId)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the GET_RECORDS command code.  <a href="#173b8eb90186edc54e8a679d7498bcb5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#26c4025403d129f658c1919190c0a0f0">SetRecord</a> (unsigned int dbId, <a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;build, const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *ic)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the m_send buffer for the SET_RECORD command code.  <a href="#26c4025403d129f658c1919190c0a0f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#0efa0a4b999ca8fab4a628796181205a">DBOperation</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the database operation code from the receive packet, assuming that receive contains a response packet.  <a href="#0efa0a4b999ca8fab4a628796181205a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#fd64b6c98e7ad1d482a8339e0283ff90">Parse</a> (<a class="el" href="classBarry_1_1Parser.html">Parser</a> &amp;parser, const std::string &amp;dbname, const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *ic)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parses the data in the receive buffer, and attempts to be smart about it, using the last send command as guidance for what to expect in the response.  <a href="#fd64b6c98e7ad1d482a8339e0283ff90"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#1bea52fca1a38648a956508df57248cd">ParseMeta</a> (<a class="el" href="classBarry_1_1DBData.html">DBData</a> &amp;data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills DBData's meta data based on its data block, and the last dbop.  <a href="#1bea52fca1a38648a956508df57248cd"></a><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ace85c6dd63c5f85e21e9f61e10e5af5"></a><!-- doxytag: member="Barry::DBPacket::ClearDatabase" ref="ace85c6dd63c5f85e21e9f61e10e5af5" args="(unsigned int dbId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::DBPacket::ClearDatabase           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet for the CLEAR_DATABASE command code, placing the data in the send buffer. 
<p>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00205">205</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="268,5,521,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="206e98e5159e7fe7790d4976d0f039a0"></a><!-- doxytag: member="Barry::DBPacket::GetDBDB" ref="206e98e5159e7fe7790d4976d0f039a0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::DBPacket::GetDBDB           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet for the GET_DBDB command code, placing the data in m_send. 
<p>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00228">228</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="239,5,492,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="07e2e8ca566a1f4d7cc493983b56c32b"></a><!-- doxytag: member="Barry::DBPacket::GetRecordStateTable" ref="07e2e8ca566a1f4d7cc493983b56c32b" args="(unsigned int dbId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::DBPacket::GetRecordStateTable           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet in the send buffer for the GET_RECORD_STATE_TABLE command. 
<p>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00251">251</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00186">Barry::Mode::Desktop::GetRecordStateTable()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="308,5,561,32"></map>
</div>

<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#047fe0a4a6dff740822451ffd38ddd84" title="Retrieve the record state table from the handheld device, using the given database..." alt="" coords="307,5,587,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="9f0237393389b714f30bf56e616183dd"></a><!-- doxytag: member="Barry::DBPacket::SetRecordFlags" ref="9f0237393389b714f30bf56e616183dd" args="(unsigned int dbId, unsigned int stateTableIndex, uint8_t flag1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::DBPacket::SetRecordFlags           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>stateTableIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>flag1</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet in the send buffer for the SET_RECORD_FLAGS command code. 
<p>
FIXME - this API call is incomplete, since there are unknown flags in the SetRecordFlags protocol packet. Currently it is only used to set all flags to zero. 
<p>Definition at line <a class="el" href="packet_8cc-source.html#l00278">278</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00333">Barry::Mode::Desktop::ClearDirty()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="276,5,529,32"></map>
</div>

<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#a766fb027d28f7cf4bb069eb0991baaa" title="Clears the dirty flag on the specified record in the specified database." alt="" coords="275,5,488,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="fb9625f072f936a03ebee1ac64b78bf4"></a><!-- doxytag: member="Barry::DBPacket::DeleteRecordByIndex" ref="fb9625f072f936a03ebee1ac64b78bf4" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::DBPacket::DeleteRecordByIndex           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>stateTableIndex</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet in the send buffer for the DELETE_RECORD_BY_INDEX command code. 
<p>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00306">306</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00352">Barry::Mode::Desktop::DeleteRecord()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="308,5,561,32"></map>
</div>

<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#04cd4063958483b31cc98a353f335fe0" title="Deletes the specified record in the specified database." alt="" coords="307,5,541,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="95355f6de0ab12e9eacd0727e8a66965"></a><!-- doxytag: member="Barry::DBPacket::GetRecordByIndex" ref="95355f6de0ab12e9eacd0727e8a66965" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::DBPacket::GetRecordByIndex           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>stateTableIndex</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet in the send buffer for the GET_RECORD_BY_INDEX command code. 
<p>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00331">331</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00247">Barry::Mode::Desktop::GetRecord()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="292,5,545,32"></map>
</div>

<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#2420208d094c0195dd41b5836f54dc10" title="Retrieves a specific record from the specified database." alt="" coords="291,5,509,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="7a41833dcc12c2823cd54991161e8d26"></a><!-- doxytag: member="Barry::DBPacket::SetRecordByIndex" ref="7a41833dcc12c2823cd54991161e8d26" args="(unsigned int dbId, unsigned int stateTableIndex, Builder &amp;build, const IConverter *ic)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Barry::DBPacket::SetRecordByIndex           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>stateTableIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>build</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet in the m_send buffer for the SET_RECORD_BY_INDEX command code. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>bool<ul>
<li>true means success</li><li>false means no data available from <a class="el" href="classBarry_1_1Builder.html" title="Base class for the builder functor hierarchy.">Builder</a> object </li></ul>
</dd></dl>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00359">359</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad">Barry::Builder::BuildRecord()</a>, and <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00297">Barry::Mode::Desktop::SetRecord()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph_map">
<area shape="rect" href="classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad" title="Called to build the record field data." alt="" coords="329,5,508,32"><area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="292,56,545,83"></map>
</div>

<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#bf813b7fb04062515369209c8073dab0" title="Overwrites a specific record in the device as identified by the stateTableIndex." alt="" coords="292,5,508,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="173b8eb90186edc54e8a679d7498bcb5"></a><!-- doxytag: member="Barry::DBPacket::GetRecords" ref="173b8eb90186edc54e8a679d7498bcb5" args="(unsigned int dbId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::DBPacket::GetRecords           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet in the send buffer for the GET_RECORDS command code. 
<p>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00396">396</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="252,5,505,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="26c4025403d129f658c1919190c0a0f0"></a><!-- doxytag: member="Barry::DBPacket::SetRecord" ref="26c4025403d129f658c1919190c0a0f0" args="(unsigned int dbId, Builder &amp;build, const IConverter *ic)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Barry::DBPacket::SetRecord           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>dbId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>build</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Builds a command packet in the m_send buffer for the SET_RECORD command code. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>bool<ul>
<li>true means success</li><li>false means no data available from <a class="el" href="classBarry_1_1Builder.html" title="Base class for the builder functor hierarchy.">Builder</a> object </li></ul>
</dd></dl>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00423">423</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad">Barry::Builder::BuildRecord()</a>, <a class="el" href="m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()</a>, <a class="el" href="data_8h-source.html#l00204">Barry::DBData::GetRecType()</a>, and <a class="el" href="data_8h-source.html#l00205">Barry::DBData::GetUniqueId()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00212">Barry::Mode::Desktop::AddRecord()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph_map">
<area shape="rect" href="classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad" title="Called to build the record field data." alt="" coords="281,5,460,32"><area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="244,56,497,83"><area shape="rect" href="classBarry_1_1DBData.html#07523eb3b1dcfd99a917a184b61cb10a" title="Barry::DBData::GetRecType" alt="" coords="279,107,463,133"><area shape="rect" href="classBarry_1_1DBData.html#2a0106c7330842c455fc5393a3abfbc7" title="Barry::DBData::GetUniqueId" alt="" coords="279,157,463,184"></map>
</div>

<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="244,5,463,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="0efa0a4b999ca8fab4a628796181205a"></a><!-- doxytag: member="Barry::DBPacket::DBOperation" ref="0efa0a4b999ca8fab4a628796181205a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int Barry::DBPacket::DBOperation           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the database operation code from the receive packet, assuming that receive contains a response packet. 
<p>
If receive isn't large enough, throws <a class="el" href="classBarry_1_1Error.html" title="The base class for any future derived exceptions.">Error</a>. 
<p>Definition at line <a class="el" href="packet_8cc-source.html#l00475">475</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

</div>
</div><p>
<a class="anchor" name="fd64b6c98e7ad1d482a8339e0283ff90"></a><!-- doxytag: member="Barry::DBPacket::Parse" ref="fd64b6c98e7ad1d482a8339e0283ff90" args="(Parser &amp;parser, const std::string &amp;dbname, const IConverter *ic)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Barry::DBPacket::Parse           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classBarry_1_1Parser.html">Parser</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>parser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>dbname</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parses the data in the receive buffer, and attempts to be smart about it, using the last send command as guidance for what to expect in the response. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>bool true - packet was recognized and parse was attempted false - packet was not recognized </dd></dl>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00492">492</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="classBarry_1_1Parser.html#1d8325c74140cda51c5735c6f82b7511">Barry::Parser::ParseRecord()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00247">Barry::Mode::Desktop::GetRecord()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_cgraph_map">
<area shape="rect" href="classBarry_1_1Parser.html#1d8325c74140cda51c5735c6f82b7511" title="Called to parse sub fields in the raw data packet." alt="" coords="216,5,397,32"></map>
</div>

<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_icgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_icgraph_map">
<area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#2420208d094c0195dd41b5836f54dc10" title="Retrieves a specific record from the specified database." alt="" coords="216,5,435,32"></map>
</div>

</div>
</div><p>
<a class="anchor" name="1bea52fca1a38648a956508df57248cd"></a><!-- doxytag: member="Barry::DBPacket::ParseMeta" ref="1bea52fca1a38648a956508df57248cd" args="(DBData &amp;data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Barry::DBPacket::ParseMeta           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classBarry_1_1DBData.html">DBData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fills DBData's meta data based on its data block, and the last dbop. 
<p>

<p>Definition at line <a class="el" href="packet_8cc-source.html#l00526">526</a> of file <a class="el" href="packet_8cc-source.html">packet.cc</a>.</p>

<p>References <a class="el" href="data_8h-source.html#l00208">Barry::DBData::GetData()</a>, <a class="el" href="data_8h-source.html#l00222">Barry::DBData::SetIds()</a>, <a class="el" href="data_8h-source.html#l00228">Barry::DBData::SetOffset()</a>, and <a class="el" href="data_8h-source.html#l00212">Barry::DBData::SetVersion()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classBarry_1_1DBPacket_1bea52fca1a38648a956508df57248cd_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_1bea52fca1a38648a956508df57248cd_cgraph_map" alt=""></center>
<map name="classBarry_1_1DBPacket_1bea52fca1a38648a956508df57248cd_cgraph_map">
<area shape="rect" href="classBarry_1_1DBData.html#a7cacc9655376447ffbf3aa4d664a03b" title="Barry::DBData::GetData" alt="" coords="253,5,413,32"><area shape="rect" href="classBarry_1_1DBData.html#a46147fced1b122cb6a0e6d1cee3cb07" title="Barry::DBData::SetIds" alt="" coords="257,56,409,83"><area shape="rect" href="classBarry_1_1DBData.html#cb569139ee2d44442d4709ccf2a4ab3c" title="Barry::DBData::SetOffset" alt="" coords="249,107,417,133"><area shape="rect" href="classBarry_1_1DBData.html#d1a3e69cabea68e0a309459cd7c58e78" title="Barry::DBData::SetVersion" alt="" coords="245,157,421,184"></map>
</div>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="packet_8h-source.html">packet.h</a><li><a class="el" href="packet_8cc-source.html">packet.cc</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 1 17:51:00 2011 for Barry by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>