Sophie

Sophie

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

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::DBPacket 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_1DBPacket.html">DBPacket</a>
  </div>
</div>
<div class="contents">
<h1>Barry::DBPacket Class Reference</h1><!-- doxytag: class="Barry::DBPacket" --><!-- doxytag: inherits="Barry::Packet" -->
<p>Provides an API for building and analyzing raw DB protocol packets.  
<a href="#_details">More...</a></p>

<p><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">
<div class="center"><img src="classBarry_1_1DBPacket__inherit__graph.png" border="0" usemap="#Barry_1_1DBPacket_inherit__map" alt="Inheritance graph"/></div>
<map name="Barry_1_1DBPacket_inherit__map" id="Barry_1_1DBPacket_inherit__map">
<area shape="rect" id="node2" href="classBarry_1_1Packet.html" title="Barry::Packet" alt="" coords="16,6,117,37"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for Barry::DBPacket:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket__coll__graph.png" border="0" usemap="#Barry_1_1DBPacket_coll__map" alt="Collaboration graph"/></div>
<map name="Barry_1_1DBPacket_coll__map" id="Barry_1_1DBPacket_coll__map">
<area shape="rect" id="node2" href="classBarry_1_1Packet.html" title="Barry::Packet" alt="" coords="383,5,484,35"/><area shape="rect" id="node4" href="classBarry_1_1Data.html" title="Barry::Data" alt="" coords="5,59,96,90"/><area shape="rect" id="node61" href="classBarry_1_1IConverter.html" title="Main charset conversion class, primarily focused on converting between the Blackberry..." alt="" coords="1312,122,1435,153"/><area shape="rect" id="node6" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases." alt="" coords="2653,198,2808,229"/><area shape="rect" id="node8" href="classBarry_1_1Mode_1_1Mode.html" title="Base class for simple mode classes." alt="" coords="2463,583,2601,614"/><area shape="rect" id="node10" href="classBarry_1_1Controller.html" title="The main interface class." alt="" coords="1707,583,1827,614"/><area shape="rect" id="node12" href="classBarry_1_1Pin.html" title="Barry::Pin" alt="" coords="961,474,1041,505"/><area shape="rect" id="node16" href="structBarry_1_1ProbeResult.html" title="Barry::ProbeResult" alt="" coords="1307,418,1440,449"/><area shape="rect" id="node14" href="classUsb_1_1Device.html" title="Usb::Device" alt="" coords="583,631,679,662"/><area shape="rect" id="node25" href="classBarry_1_1SocketZero.html" title="Barry::SocketZero" alt="" coords="1308,681,1439,711"/><area shape="rect" id="node28" href="classBarry_1_1SocketRoutingQueue.html" title="Barry::SocketRoutingQueue" alt="" coords="907,745,1096,775"/><area shape="rect" id="node38" href="classUsb_1_1Interface.html" title="Usb::Interface" alt="" coords="1127,609,1231,639"/><area shape="rect" id="node18" href="structUsb_1_1EndpointPair.html" title="Usb::EndpointPair" alt="" coords="939,401,1064,431"/><area shape="rect" id="node21" title="STL class." alt="" coords="961,239,1041,270"/><area shape="rect" id="node51" href="structBarry_1_1DatabaseItem.html" title="Barry::DatabaseItem" alt="" coords="1509,265,1656,295"/><area shape="rect" id="node58" href="structBarry_1_1CommandTableCommand.html" title="Barry::CommandTableCommand" alt="" coords="1263,211,1484,242"/><area shape="rect" id="node23" title="STL class." alt="" coords="547,239,715,270"/><area shape="rect" id="node44" href="classBarry_1_1Socket.html" title="Encapsulates a &quot;logical socket&quot; in the Blackberry USB protocol." alt="" coords="1715,697,1819,727"/><area shape="rect" id="node33" href="classBarry_1_1DataQueue.html" title="This class provides a thread aware fifo queue for Data objects, providing memory..." alt="" coords="565,807,696,838"/><area shape="rect" id="node47" href="classBarry_1_1DatabaseDatabase.html" title="Barry::DatabaseDatabase" alt="" coords="2257,265,2436,295"/><area shape="rect" id="node54" href="classBarry_1_1CommandTable.html" title="Barry::CommandTable" alt="" coords="2267,198,2427,229"/><area shape="rect" id="node65" href="classBarry_1_1IConvHandle.html" title="Wrapper class for a two&#45;way iconv_t handle pair." alt="" coords="932,117,1071,147"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classBarry_1_1DBPacket-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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#aace85c6dd63c5f85e21e9f61e10e5af5">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="#aace85c6dd63c5f85e21e9f61e10e5af5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a206e98e5159e7fe7790d4976d0f039a0">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="#a206e98e5159e7fe7790d4976d0f039a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a07e2e8ca566a1f4d7cc493983b56c32b">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="#a07e2e8ca566a1f4d7cc493983b56c32b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a9f0237393389b714f30bf56e616183dd">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="#a9f0237393389b714f30bf56e616183dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#afb9625f072f936a03ebee1ac64b78bf4">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="#afb9625f072f936a03ebee1ac64b78bf4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a95355f6de0ab12e9eacd0727e8a66965">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="#a95355f6de0ab12e9eacd0727e8a66965"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a7a41833dcc12c2823cd54991161e8d26">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="#a7a41833dcc12c2823cd54991161e8d26"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a173b8eb90186edc54e8a679d7498bcb5">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="#a173b8eb90186edc54e8a679d7498bcb5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a26c4025403d129f658c1919190c0a0f0">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="#a26c4025403d129f658c1919190c0a0f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a0efa0a4b999ca8fab4a628796181205a">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="#a0efa0a4b999ca8fab4a628796181205a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#a43b96166db565fb8b37085d06d3a446c">Parse</a> (<a class="el" href="classBarry_1_1Parser.html">Parser</a> &amp;parser, 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="#a43b96166db565fb8b37085d06d3a446c"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Provides an API for building and analyzing raw DB protocol packets. </p>
<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 <a class="el" href="classBarry_1_1Data.html">Data</a> 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>
<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>

<p>Definition at line <a class="el" href="packet_8h_source.html#l00125">125</a> of file <a class="el" href="packet_8h_source.html">packet.h</a>.</p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aace85c6dd63c5f85e21e9f61e10e5af5"></a><!-- doxytag: member="Barry::DBPacket::ClearDatabase" ref="aace85c6dd63c5f85e21e9f61e10e5af5" 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#l00142">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_aace85c6dd63c5f85e21e9f61e10e5af5_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_aace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_aace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map" id="classBarry_1_1DBPacket_aace85c6dd63c5f85e21e9f61e10e5af5_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="277,5,544,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a0efa0a4b999ca8fab4a628796181205a"></a><!-- doxytag: member="Barry::DBPacket::DBOperation" ref="a0efa0a4b999ca8fab4a628796181205a" 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>
<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>

<p>Definition at line <a class="el" href="packet_8cc_source.html#l00476">476</a> of file <a class="el" href="packet_8cc_source.html">packet.cc</a>.</p>

</div>
</div>
<a class="anchor" id="afb9625f072f936a03ebee1ac64b78bf4"></a><!-- doxytag: member="Barry::DBPacket::DeleteRecordByIndex" ref="afb9625f072f936a03ebee1ac64b78bf4" 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#l00142">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_afb9625f072f936a03ebee1ac64b78bf4_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_afb9625f072f936a03ebee1ac64b78bf4_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_afb9625f072f936a03ebee1ac64b78bf4_cgraph_map" id="classBarry_1_1DBPacket_afb9625f072f936a03ebee1ac64b78bf4_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="317,5,584,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a206e98e5159e7fe7790d4976d0f039a0"></a><!-- doxytag: member="Barry::DBPacket::GetDBDB" ref="a206e98e5159e7fe7790d4976d0f039a0" 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#l00142">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a206e98e5159e7fe7790d4976d0f039a0_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a206e98e5159e7fe7790d4976d0f039a0_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a206e98e5159e7fe7790d4976d0f039a0_cgraph_map" id="classBarry_1_1DBPacket_a206e98e5159e7fe7790d4976d0f039a0_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="245,5,512,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a95355f6de0ab12e9eacd0727e8a66965"></a><!-- doxytag: member="Barry::DBPacket::GetRecordByIndex" ref="a95355f6de0ab12e9eacd0727e8a66965" 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#l00142">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a95355f6de0ab12e9eacd0727e8a66965_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a95355f6de0ab12e9eacd0727e8a66965_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a95355f6de0ab12e9eacd0727e8a66965_cgraph_map" id="classBarry_1_1DBPacket_a95355f6de0ab12e9eacd0727e8a66965_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="299,5,565,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a173b8eb90186edc54e8a679d7498bcb5"></a><!-- doxytag: member="Barry::DBPacket::GetRecords" ref="a173b8eb90186edc54e8a679d7498bcb5" 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#l00142">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc_source.html#l00384">Barry::Mode::Desktop::LoadDatabase()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_cgraph_map" id="classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="256,5,523,35"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_icgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_icgraph_map" id="classBarry_1_1DBPacket_a173b8eb90186edc54e8a679d7498bcb5_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#a6bb1c96d6082575b5fa684dee2af51a6" title="Retrieve a database from the handheld device, using the given parser to parse the..." alt="" coords="256,5,509,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a07e2e8ca566a1f4d7cc493983b56c32b"></a><!-- doxytag: member="Barry::DBPacket::GetRecordStateTable" ref="a07e2e8ca566a1f4d7cc493983b56c32b" 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#l00142">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a07e2e8ca566a1f4d7cc493983b56c32b_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map" id="classBarry_1_1DBPacket_a07e2e8ca566a1f4d7cc493983b56c32b_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="317,5,584,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a43b96166db565fb8b37085d06d3a446c"></a><!-- doxytag: member="Barry::DBPacket::Parse" ref="a43b96166db565fb8b37085d06d3a446c" args="(Parser &amp;parser, 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 <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"><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#l00493">493</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#a15acb3544613d43d8f928cd63a19022b">Barry::Parser::Clear()</a>, <a class="el" href="classBarry_1_1Parser.html#a645718d87aaad3ee2c36664de05046d2">Barry::Parser::ParseFields()</a>, <a class="el" href="classBarry_1_1Parser.html#a2087d07fb5d8d57c934c4e60278f41d8">Barry::Parser::ParseHeader()</a>, <a class="el" href="classBarry_1_1Parser.html#a95bfc4014e3e8ded94625f43d1d29800">Barry::Parser::SetIds()</a>, and <a class="el" href="classBarry_1_1Parser.html#abf8ab1598be74268ee486af938c527d4">Barry::Parser::Store()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc_source.html#l00384">Barry::Mode::Desktop::LoadDatabase()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_cgraph_map" id="classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Parser.html#a15acb3544613d43d8f928cd63a19022b" title="Reset and prepare for a new raw data packet." alt="" coords="243,5,384,35"/><area shape="rect" id="node5" href="classBarry_1_1Parser.html#a645718d87aaad3ee2c36664de05046d2" title="Called to parse sub fields in the raw data packet." alt="" coords="223,58,404,89"/><area shape="rect" id="node7" href="classBarry_1_1Parser.html#a2087d07fb5d8d57c934c4e60278f41d8" title="Called to parse the header portion of the raw data packet." alt="" coords="219,111,408,142"/><area shape="rect" id="node9" href="classBarry_1_1Parser.html#a95bfc4014e3e8ded94625f43d1d29800" title="Stores the IDs." alt="" coords="240,165,387,195"/><area shape="rect" id="node11" href="classBarry_1_1Parser.html#abf8ab1598be74268ee486af938c527d4" title="Called at the very end of record parsing, and used to store the final packet somewhere..." alt="" coords="243,218,384,249"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_icgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_icgraph_map" id="classBarry_1_1DBPacket_a43b96166db565fb8b37085d06d3a446c_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#a6bb1c96d6082575b5fa684dee2af51a6" title="Retrieve a database from the handheld device, using the given parser to parse the..." alt="" coords="219,5,472,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a26c4025403d129f658c1919190c0a0f0"></a><!-- doxytag: member="Barry::DBPacket::SetRecord" ref="a26c4025403d129f658c1919190c0a0f0" 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"><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#a8414acbff050df62c01d8835115e6d18">Barry::Builder::BuildFields()</a>, <a class="el" href="classBarry_1_1Builder.html#a7fd24f3f6d34bd1a6e8875ce7c242e9b">Barry::Builder::BuildHeader()</a>, <a class="el" href="m__desktop_8cc_source.html#l00142">Barry::Mode::Desktop::GetDBCommand()</a>, <a class="el" href="classBarry_1_1Builder.html#ab586fc135c6fbe0d1f9019bc4a2639d0">Barry::Builder::GetRecType()</a>, and <a class="el" href="classBarry_1_1Builder.html#a936d3e7b4e771fb2f7ee48476d802407">Barry::Builder::Retrieve()</a>.</p>

<p>Referenced by <a class="el" href="m__desktop_8cc_source.html#l00205">Barry::Mode::Desktop::AddRecord()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_cgraph_map" id="classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Builder.html#a8414acbff050df62c01d8835115e6d18" title="Called to build the record field data." alt="" coords="292,5,471,35"/><area shape="rect" id="node5" href="classBarry_1_1Builder.html#a7fd24f3f6d34bd1a6e8875ce7c242e9b" title="Called before BuildFields() in order to build the header for this record." alt="" coords="288,58,475,89"/><area shape="rect" id="node7" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="248,111,515,142"/><area shape="rect" id="node9" href="classBarry_1_1Builder.html#ab586fc135c6fbe0d1f9019bc4a2639d0" title="Called to retrive the unique ID for this record." alt="" coords="287,165,476,195"/><area shape="rect" id="node11" href="classBarry_1_1Builder.html#a936d3e7b4e771fb2f7ee48476d802407" title="Called first in the sequence, to allow the application to load the needed data from..." alt="" coords="300,218,463,249"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_icgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_icgraph_map" id="classBarry_1_1DBPacket_a26c4025403d129f658c1919190c0a0f0_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#a0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="248,5,480,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7a41833dcc12c2823cd54991161e8d26"></a><!-- doxytag: member="Barry::DBPacket::SetRecordByIndex" ref="a7a41833dcc12c2823cd54991161e8d26" 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"><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#a8414acbff050df62c01d8835115e6d18">Barry::Builder::BuildFields()</a>, <a class="el" href="m__desktop_8cc_source.html#l00142">Barry::Mode::Desktop::GetDBCommand()</a>, and <a class="el" href="classBarry_1_1Builder.html#a936d3e7b4e771fb2f7ee48476d802407">Barry::Builder::Retrieve()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a7a41833dcc12c2823cd54991161e8d26_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a7a41833dcc12c2823cd54991161e8d26_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a7a41833dcc12c2823cd54991161e8d26_cgraph_map" id="classBarry_1_1DBPacket_a7a41833dcc12c2823cd54991161e8d26_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Builder.html#a8414acbff050df62c01d8835115e6d18" title="Called to build the record field data." alt="" coords="340,5,519,35"/><area shape="rect" id="node5" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="296,58,563,89"/><area shape="rect" id="node7" href="classBarry_1_1Builder.html#a936d3e7b4e771fb2f7ee48476d802407" title="Called first in the sequence, to allow the application to load the needed data from..." alt="" coords="348,111,511,142"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a9f0237393389b714f30bf56e616183dd"></a><!-- doxytag: member="Barry::DBPacket::SetRecordFlags" ref="a9f0237393389b714f30bf56e616183dd" 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>
<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>

<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#l00142">Barry::Mode::Desktop::GetDBCommand()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1DBPacket_a9f0237393389b714f30bf56e616183dd_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_a9f0237393389b714f30bf56e616183dd_cgraph_map" alt=""></div>
<map name="classBarry_1_1DBPacket_a9f0237393389b714f30bf56e616183dd_cgraph_map" id="classBarry_1_1DBPacket_a9f0237393389b714f30bf56e616183dd_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="283,5,549,35"/></map>
</div>
</p>

</div>
</div>
<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>
<li><a class="el" href="packet_8cc_source.html">packet.cc</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>