Sophie

Sophie

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

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::Mode::Desktop 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>::<b>Mode</b>::<a class="el" href="classBarry_1_1Mode_1_1Desktop.html">Desktop</a>
  </div>
</div>
<div class="contents">
<h1>Barry::Mode::Desktop Class Reference</h1><!-- doxytag: class="Barry::Mode::Desktop" --><!-- doxytag: inherits="Barry::Mode::Mode" -->
<p>The main interface class to the device databases.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="m__desktop_8h_source.html">m_desktop.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Barry::Mode::Desktop:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1Mode_1_1Desktop__inherit__graph.png" border="0" usemap="#Barry_1_1Mode_1_1Desktop_inherit__map" alt="Inheritance graph"/></div>
<map name="Barry_1_1Mode_1_1Desktop_inherit__map" id="Barry_1_1Mode_1_1Desktop_inherit__map">
<area shape="rect" id="node2" href="classBarry_1_1Mode_1_1Mode.html" title="Base class for simple mode classes." alt="" coords="13,6,152,37"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for Barry::Mode::Desktop:</div>
<div class="dynsection">
<div class="center"><img src="classBarry_1_1Mode_1_1Desktop__coll__graph.png" border="0" usemap="#Barry_1_1Mode_1_1Desktop_coll__map" alt="Collaboration graph"/></div>
<map name="Barry_1_1Mode_1_1Desktop_coll__map" id="Barry_1_1Mode_1_1Desktop_coll__map">
<area shape="rect" id="node2" href="classBarry_1_1Mode_1_1Mode.html" title="Base class for simple mode classes." alt="" coords="2223,183,2361,214"/><area shape="rect" id="node4" href="classBarry_1_1Controller.html" title="The main interface class." alt="" coords="1563,183,1683,214"/><area shape="rect" id="node6" href="classBarry_1_1Pin.html" title="Barry::Pin" alt="" coords="908,302,988,333"/><area shape="rect" id="node10" href="structBarry_1_1ProbeResult.html" title="Barry::ProbeResult" alt="" coords="1253,358,1387,389"/><area shape="rect" id="node8" href="classUsb_1_1Device.html" title="Usb::Device" alt="" coords="529,115,625,146"/><area shape="rect" id="node19" href="classBarry_1_1SocketZero.html" title="Barry::SocketZero" alt="" coords="1255,94,1385,125"/><area shape="rect" id="node22" href="classBarry_1_1SocketRoutingQueue.html" title="Barry::SocketRoutingQueue" alt="" coords="853,238,1043,269"/><area shape="rect" id="node33" href="classUsb_1_1Interface.html" title="Usb::Interface" alt="" coords="1073,29,1177,59"/><area shape="rect" id="node12" href="structUsb_1_1EndpointPair.html" title="Usb::EndpointPair" alt="" coords="885,379,1011,410"/><area shape="rect" id="node15" title="STL class." alt="" coords="908,635,988,666"/><area shape="rect" id="node46" href="structBarry_1_1DatabaseItem.html" title="Barry::DatabaseItem" alt="" coords="1247,637,1393,667"/><area shape="rect" id="node53" href="structBarry_1_1CommandTableCommand.html" title="Barry::CommandTableCommand" alt="" coords="1209,695,1431,726"/><area shape="rect" id="node56" href="classBarry_1_1IConverter.html" title="Main charset conversion class, primarily focused on converting between the Blackberry..." alt="" coords="1259,562,1381,593"/><area shape="rect" id="node17" title="STL class." alt="" coords="493,635,661,666"/><area shape="rect" id="node39" href="classBarry_1_1Socket.html" title="Encapsulates a &quot;logical socket&quot; in the Blackberry USB protocol." alt="" coords="1571,75,1675,106"/><area shape="rect" id="node27" href="classBarry_1_1DataQueue.html" title="This class provides a thread aware fifo queue for Data objects, providing memory..." alt="" coords="512,343,643,374"/><area shape="rect" id="node31" href="classBarry_1_1Data.html" title="Barry::Data" alt="" coords="5,523,96,554"/><area shape="rect" id="node42" href="classBarry_1_1DatabaseDatabase.html" title="Barry::DatabaseDatabase" alt="" coords="2017,623,2196,654"/><area shape="rect" id="node49" href="classBarry_1_1CommandTable.html" title="Barry::CommandTable" alt="" coords="2027,686,2187,717"/><area shape="rect" id="node60" href="classBarry_1_1IConvHandle.html" title="Wrapper class for a two&#45;way iconv_t handle pair." alt="" coords="879,447,1017,478"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classBarry_1_1Mode_1_1Desktop-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">const <a class="el" href="classBarry_1_1DatabaseDatabase.html">DatabaseDatabase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a41d83954c0bcc4b3a707c7501269c5b9">GetDBDB</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <a class="el" href="classBarry_1_1DatabaseDatabase.html">DatabaseDatabase</a> object for this connection.  <a href="#a41d83954c0bcc4b3a707c7501269c5b9"></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_1Mode_1_1Desktop.html#a4e1dad976351ad48029dc80d5f05fae3">GetDBID</a> (const std::string &amp;name) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get numeric database ID by name.  <a href="#a4e1dad976351ad48029dc80d5f05fae3"></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_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f">GetDBCommand</a> (CommandType ct)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get database command from command table.  <a href="#ab1d7a169122aae509924729aedfeb24f"></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_1Mode_1_1Desktop.html#a047fe0a4a6dff740822451ffd38ddd84">GetRecordStateTable</a> (unsigned int dbId, <a class="el" href="classBarry_1_1RecordStateTable.html">RecordStateTable</a> &amp;result)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the record state table from the handheld device, using the given database ID.  <a href="#a047fe0a4a6dff740822451ffd38ddd84"></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_1Mode_1_1Desktop.html#a0fec0d31ff496974acfc15fdc75f074a">AddRecord</a> (unsigned int dbId, <a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;build)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a record to the specified database.  <a href="#a0fec0d31ff496974acfc15fdc75f074a"></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_1Mode_1_1Desktop.html#a2420208d094c0195dd41b5836f54dc10">GetRecord</a> (unsigned int dbId, unsigned int stateTableIndex, <a class="el" href="classBarry_1_1Parser.html">Parser</a> &amp;parser)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a specific record from the specified database.  <a href="#a2420208d094c0195dd41b5836f54dc10"></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_1Mode_1_1Desktop.html#abf813b7fb04062515369209c8073dab0">SetRecord</a> (unsigned int dbId, unsigned int stateTableIndex, <a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;build)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overwrites a specific record in the device as identified by the stateTableIndex.  <a href="#abf813b7fb04062515369209c8073dab0"></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_1Mode_1_1Desktop.html#aa766fb027d28f7cf4bb069eb0991baaa">ClearDirty</a> (unsigned int dbId, unsigned int stateTableIndex)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the dirty flag on the specified record in the specified database.  <a href="#aa766fb027d28f7cf4bb069eb0991baaa"></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_1Mode_1_1Desktop.html#a04cd4063958483b31cc98a353f335fe0">DeleteRecord</a> (unsigned int dbId, unsigned int stateTableIndex)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the specified record in the specified database.  <a href="#a04cd4063958483b31cc98a353f335fe0"></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_1Mode_1_1Desktop.html#a6bb1c96d6082575b5fa684dee2af51a6">LoadDatabase</a> (unsigned int dbId, <a class="el" href="classBarry_1_1Parser.html">Parser</a> &amp;parser)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve a database from the handheld device, using the given parser to parse the resulting data, and optionally store it.  <a href="#a6bb1c96d6082575b5fa684dee2af51a6"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The main interface class to the device databases. </p>
<p>To use this class, use the following steps:</p>
<ul>
<li>Create a <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> object (see <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> class for more details)</li>
<li>Create this <a class="el" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases.">Mode::Desktop</a> object, passing in the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> object during construction</li>
<li>Call <a class="el" href="classBarry_1_1Mode_1_1Mode.html#a1110243f16be2b647ed9810da27abe11" title="Select device mode.">Open()</a> to open database socket and finish constructing.</li>
<li>Call <a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a41d83954c0bcc4b3a707c7501269c5b9" title="Returns DatabaseDatabase object for this connection.">GetDBDB()</a> to get the device's database database</li>
<li>Call <a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a4e1dad976351ad48029dc80d5f05fae3" title="Get numeric database ID by name.">GetDBID()</a> to get a database ID by name</li>
<li>Call <a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a6bb1c96d6082575b5fa684dee2af51a6" title="Retrieve a database from the handheld device, using the given parser to parse the...">LoadDatabase()</a> to retrieve and store a database </li>
</ul>

<p>Definition at line <a class="el" href="m__desktop_8h_source.html#l00054">54</a> of file <a class="el" href="m__desktop_8h_source.html">m_desktop.h</a>.</p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0fec0d31ff496974acfc15fdc75f074a"></a><!-- doxytag: member="Barry::Mode::Desktop::AddRecord" ref="a0fec0d31ff496974acfc15fdc75f074a" args="(unsigned int dbId, Builder &amp;build)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::Mode::Desktop::AddRecord </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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a record to the specified database. </p>
<p>RecordId is retrieved from build, and duplicate IDs are allowed by the device (i.e. you can have two records with the same ID) but *not* recommended! </p>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00205">205</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

<p>References <a class="el" href="packet_8cc_source.html#l00050">Barry::Packet::Command()</a>, and <a class="el" href="packet_8cc_source.html#l00423">Barry::DBPacket::SetRecord()</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_1Mode_1_1Desktop_a0fec0d31ff496974acfc15fdc75f074a_cgraph.png" border="0" usemap="#classBarry_1_1Mode_1_1Desktop_a0fec0d31ff496974acfc15fdc75f074a_cgraph_map" alt=""></div>
<map name="classBarry_1_1Mode_1_1Desktop_a0fec0d31ff496974acfc15fdc75f074a_cgraph_map" id="classBarry_1_1Mode_1_1Desktop_a0fec0d31ff496974acfc15fdc75f074a_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Packet.html#a764cefd38c2dc1970fccabc01044687d" title="Returns the command value of the receive packet." alt="" coords="296,58,469,89"/><area shape="rect" id="node5" href="classBarry_1_1DBPacket.html#a26c4025403d129f658c1919190c0a0f0" title="Builds a command packet in the m_send buffer for the SET_RECORD command code." alt="" coords="285,111,480,142"/><area shape="rect" id="node7" href="classBarry_1_1Builder.html#a8414acbff050df62c01d8835115e6d18" title="Called to build the record field data." alt="" coords="572,5,751,35"/><area shape="rect" id="node9" href="classBarry_1_1Builder.html#a7fd24f3f6d34bd1a6e8875ce7c242e9b" title="Called before BuildFields() in order to build the header for this record." alt="" coords="568,58,755,89"/><area shape="rect" id="node11" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="528,111,795,142"/><area shape="rect" id="node13" href="classBarry_1_1Builder.html#ab586fc135c6fbe0d1f9019bc4a2639d0" title="Called to retrive the unique ID for this record." alt="" coords="567,165,756,195"/><area shape="rect" id="node15" href="classBarry_1_1Builder.html#a936d3e7b4e771fb2f7ee48476d802407" title="Called first in the sequence, to allow the application to load the needed data from..." alt="" coords="580,218,743,249"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aa766fb027d28f7cf4bb069eb0991baaa"></a><!-- doxytag: member="Barry::Mode::Desktop::ClearDirty" ref="aa766fb027d28f7cf4bb069eb0991baaa" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::Mode::Desktop::ClearDirty </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>Clears the dirty flag on the specified record in the specified database. </p>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00326">326</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a04cd4063958483b31cc98a353f335fe0"></a><!-- doxytag: member="Barry::Mode::Desktop::DeleteRecord" ref="a04cd4063958483b31cc98a353f335fe0" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::Mode::Desktop::DeleteRecord </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>Deletes the specified record in the specified database. </p>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00346">346</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ab1d7a169122aae509924729aedfeb24f"></a><!-- doxytag: member="Barry::Mode::Desktop::GetDBCommand" ref="ab1d7a169122aae509924729aedfeb24f" args="(CommandType ct)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int Barry::Mode::Desktop::GetDBCommand </td>
          <td>(</td>
          <td class="paramtype">CommandType&nbsp;</td>
          <td class="paramname"> <em>ct</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get database command from command table. </p>
<p>Must call <a class="el" href="classBarry_1_1Mode_1_1Mode.html#a1110243f16be2b647ed9810da27abe11" title="Select device mode.">Open()</a> before this. </p>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00142">142</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

<p>Referenced by <a class="el" href="packet_8cc_source.html#l00205">Barry::DBPacket::ClearDatabase()</a>, <a class="el" href="packet_8cc_source.html#l00306">Barry::DBPacket::DeleteRecordByIndex()</a>, <a class="el" href="packet_8cc_source.html#l00228">Barry::DBPacket::GetDBDB()</a>, <a class="el" href="packet_8cc_source.html#l00331">Barry::DBPacket::GetRecordByIndex()</a>, <a class="el" href="packet_8cc_source.html#l00396">Barry::DBPacket::GetRecords()</a>, <a class="el" href="packet_8cc_source.html#l00251">Barry::DBPacket::GetRecordStateTable()</a>, <a class="el" href="packet_8cc_source.html#l00423">Barry::DBPacket::SetRecord()</a>, <a class="el" href="packet_8cc_source.html#l00359">Barry::DBPacket::SetRecordByIndex()</a>, and <a class="el" href="packet_8cc_source.html#l00278">Barry::DBPacket::SetRecordFlags()</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_1Mode_1_1Desktop_ab1d7a169122aae509924729aedfeb24f_icgraph.png" border="0" usemap="#classBarry_1_1Mode_1_1Desktop_ab1d7a169122aae509924729aedfeb24f_icgraph_map" alt=""></div>
<map name="classBarry_1_1Mode_1_1Desktop_ab1d7a169122aae509924729aedfeb24f_icgraph_map" id="classBarry_1_1Mode_1_1Desktop_ab1d7a169122aae509924729aedfeb24f_icgraph">
<area shape="rect" id="node3" href="classBarry_1_1DBPacket.html#aace85c6dd63c5f85e21e9f61e10e5af5" title="Builds a command packet for the CLEAR_DATABASE command code, placing the data in..." alt="" coords="341,5,563,35"/><area shape="rect" id="node5" href="classBarry_1_1DBPacket.html#afb9625f072f936a03ebee1ac64b78bf4" title="Builds a command packet in the send buffer for the DELETE_RECORD_BY_INDEX command..." alt="" coords="321,58,583,89"/><area shape="rect" id="node7" href="classBarry_1_1DBPacket.html#a206e98e5159e7fe7790d4976d0f039a0" title="Builds a command packet for the GET_DBDB command code, placing the data in m_send..." alt="" coords="357,111,547,142"/><area shape="rect" id="node9" href="classBarry_1_1DBPacket.html#a95355f6de0ab12e9eacd0727e8a66965" title="Builds a command packet in the send buffer for the GET_RECORD_BY_INDEX command code..." alt="" coords="329,165,575,195"/><area shape="rect" id="node11" href="classBarry_1_1DBPacket.html#a173b8eb90186edc54e8a679d7498bcb5" title="Builds a command packet in the send buffer for the GET_RECORDS command code." alt="" coords="351,218,553,249"/><area shape="rect" id="node15" href="classBarry_1_1DBPacket.html#a07e2e8ca566a1f4d7cc493983b56c32b" title="Builds a command packet in the send buffer for the GET_RECORD_STATE_TABLE command..." alt="" coords="321,271,583,302"/><area shape="rect" id="node17" href="classBarry_1_1DBPacket.html#a26c4025403d129f658c1919190c0a0f0" title="Builds a command packet in the m_send buffer for the SET_RECORD command code." alt="" coords="355,325,549,355"/><area shape="rect" id="node21" 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="331,378,573,409"/><area shape="rect" id="node23" href="classBarry_1_1DBPacket.html#a9f0237393389b714f30bf56e616183dd" title="Builds a command packet in the send buffer for the SET_RECORD_FLAGS command code..." alt="" coords="339,431,565,462"/><area shape="rect" id="node13" 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="632,218,885,249"/><area shape="rect" id="node19" href="classBarry_1_1Mode_1_1Desktop.html#a0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="643,325,875,355"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a41d83954c0bcc4b3a707c7501269c5b9"></a><!-- doxytag: member="Barry::Mode::Desktop::GetDBDB" ref="a41d83954c0bcc4b3a707c7501269c5b9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classBarry_1_1DatabaseDatabase.html">DatabaseDatabase</a>&amp; Barry::Mode::Desktop::GetDBDB </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns <a class="el" href="classBarry_1_1DatabaseDatabase.html">DatabaseDatabase</a> object for this connection. </p>
<p>Must call <a class="el" href="classBarry_1_1Mode_1_1Mode.html#a1110243f16be2b647ed9810da27abe11" title="Select device mode.">Open()</a> first, which loads the DBDB. </p>

<p>Definition at line <a class="el" href="m__desktop_8h_source.html#l00085">85</a> of file <a class="el" href="m__desktop_8h_source.html">m_desktop.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4e1dad976351ad48029dc80d5f05fae3"></a><!-- doxytag: member="Barry::Mode::Desktop::GetDBID" ref="a4e1dad976351ad48029dc80d5f05fae3" args="(const std::string &amp;name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int Barry::Mode::Desktop::GetDBID </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get numeric database ID by name. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>name</em>&nbsp;</td><td>Name of database, which matches one of the names listed in <a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a41d83954c0bcc4b3a707c7501269c5b9" title="Returns DatabaseDatabase object for this connection.">GetDBDB()</a></td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classBarry_1_1Error.html" title="The base class for any future derived exceptions.">Barry::Error</a></em>&nbsp;</td><td>Thrown if name not found. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00126">126</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a2420208d094c0195dd41b5836f54dc10"></a><!-- doxytag: member="Barry::Mode::Desktop::GetRecord" ref="a2420208d094c0195dd41b5836f54dc10" args="(unsigned int dbId, unsigned int stateTableIndex, Parser &amp;parser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::Mode::Desktop::GetRecord </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_1Parser.html">Parser</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>parser</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves a specific record from the specified database. </p>
<p>The stateTableIndex comes from the <a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a047fe0a4a6dff740822451ffd38ddd84" title="Retrieve the record state table from the handheld device, using the given database...">GetRecordStateTable()</a> function. <a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a2420208d094c0195dd41b5836f54dc10" title="Retrieves a specific record from the specified database.">GetRecord()</a> does not clear the dirty flag. </p>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00241">241</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a047fe0a4a6dff740822451ffd38ddd84"></a><!-- doxytag: member="Barry::Mode::Desktop::GetRecordStateTable" ref="a047fe0a4a6dff740822451ffd38ddd84" args="(unsigned int dbId, RecordStateTable &amp;result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::Mode::Desktop::GetRecordStateTable </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_1RecordStateTable.html">RecordStateTable</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the record state table from the handheld device, using the given database ID. </p>
<p>Results will be stored in result, which will be cleared before adding. </p>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00178">178</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a6bb1c96d6082575b5fa684dee2af51a6"></a><!-- doxytag: member="Barry::Mode::Desktop::LoadDatabase" ref="a6bb1c96d6082575b5fa684dee2af51a6" args="(unsigned int dbId, Parser &amp;parser)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::Mode::Desktop::LoadDatabase </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_1Parser.html">Parser</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>parser</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve a database from the handheld device, using the given parser to parse the resulting data, and optionally store it. </p>
<p>See the RecordParser&lt;&gt; template to create a parser object. The RecordParser&lt;&gt; template allows custom storage based on the type of database record retrieved. The database ID and the parser Record type must match.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>dbId</em>&nbsp;</td><td><a class="el" href="classDatabase.html">Database</a> <a class="el" href="classDatabase.html">Database</a> ID - use <a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a4e1dad976351ad48029dc80d5f05fae3" title="Get numeric database ID by name.">GetDBID()</a> </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>parser</em>&nbsp;</td><td><a class="el" href="classBarry_1_1Parser.html" title="Base class for the parser hierarchy.">Parser</a> object which parses the resulting protocol data, and optionally stores it in a custom fashion. See the RecordParser&lt;&gt; template.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classBarry_1_1Error.html" title="The base class for any future derived exceptions.">Barry::Error</a></em>&nbsp;</td><td>Thrown on protocol error.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>std::logic_error</em>&nbsp;</td><td>Thrown if not in <a class="el" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases.">Desktop</a> mode. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00384">384</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

<p>References <a class="el" href="packet_8cc_source.html#l00050">Barry::Packet::Command()</a>, <a class="el" href="packet_8cc_source.html#l00396">Barry::DBPacket::GetRecords()</a>, and <a class="el" href="packet_8cc_source.html#l00493">Barry::DBPacket::Parse()</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_1Mode_1_1Desktop_a6bb1c96d6082575b5fa684dee2af51a6_cgraph.png" border="0" usemap="#classBarry_1_1Mode_1_1Desktop_a6bb1c96d6082575b5fa684dee2af51a6_cgraph_map" alt=""></div>
<map name="classBarry_1_1Mode_1_1Desktop_a6bb1c96d6082575b5fa684dee2af51a6_cgraph_map" id="classBarry_1_1Mode_1_1Desktop_a6bb1c96d6082575b5fa684dee2af51a6_cgraph">
<area shape="rect" id="node3" href="classBarry_1_1Packet.html#a764cefd38c2dc1970fccabc01044687d" title="Returns the command value of the receive packet." alt="" coords="321,5,495,35"/><area shape="rect" id="node5" href="classBarry_1_1DBPacket.html#a173b8eb90186edc54e8a679d7498bcb5" title="Builds a command packet in the send buffer for the GET_RECORDS command code." alt="" coords="307,58,509,89"/><area shape="rect" id="node9" href="classBarry_1_1DBPacket.html#a43b96166db565fb8b37085d06d3a446c" title="Parses the data in the receive buffer, and attempts to be smart about it, using the..." alt="" coords="325,165,491,195"/><area shape="rect" id="node7" href="classBarry_1_1Mode_1_1Desktop.html#ab1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="557,31,824,62"/><area shape="rect" id="node11" href="classBarry_1_1Parser.html#a15acb3544613d43d8f928cd63a19022b" title="Reset and prepare for a new raw data packet." alt="" coords="620,85,761,115"/><area shape="rect" id="node13" href="classBarry_1_1Parser.html#a645718d87aaad3ee2c36664de05046d2" title="Called to parse sub fields in the raw data packet." alt="" coords="600,138,781,169"/><area shape="rect" id="node15" href="classBarry_1_1Parser.html#a2087d07fb5d8d57c934c4e60278f41d8" title="Called to parse the header portion of the raw data packet." alt="" coords="596,191,785,222"/><area shape="rect" id="node17" href="classBarry_1_1Parser.html#a95bfc4014e3e8ded94625f43d1d29800" title="Stores the IDs." alt="" coords="617,245,764,275"/><area shape="rect" id="node19" 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="620,298,761,329"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="abf813b7fb04062515369209c8073dab0"></a><!-- doxytag: member="Barry::Mode::Desktop::SetRecord" ref="abf813b7fb04062515369209c8073dab0" args="(unsigned int dbId, unsigned int stateTableIndex, Builder &amp;build)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Barry::Mode::Desktop::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">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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Overwrites a specific record in the device as identified by the stateTableIndex. </p>

<p>Definition at line <a class="el" href="m__desktop_8cc_source.html#l00289">289</a> of file <a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="m__desktop_8h_source.html">m_desktop.h</a></li>
<li><a class="el" href="m__desktop_8cc_source.html">m_desktop.cc</a></li>
<li><a class="el" href="m__desktoptmpl_8h_source.html">m_desktoptmpl.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>