<!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 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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 <<a class="el" href="m__desktop_8h_source.html">m_desktop.h</a>></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 "logical socket" 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-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> & </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Mode_1_1Desktop.html#a4e1dad976351ad48029dc80d5f05fae3">GetDBID</a> (const std::string &name) const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </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> &result)</td></tr> <tr><td class="mdescLeft"> </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 </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> &build)</td></tr> <tr><td class="mdescLeft"> </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 </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> &parser)</td></tr> <tr><td class="mdescLeft"> </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 </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> &build)</td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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> &parser)</td></tr> <tr><td class="mdescLeft"> </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 &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 </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> & </td> <td class="paramname"> <em>build</em></td><td> </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 </td> <td class="paramname"> <em>dbId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>stateTableIndex</em></td><td> </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 </td> <td class="paramname"> <em>dbId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>stateTableIndex</em></td><td> </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 </td> <td class="paramname"> <em>ct</em></td> <td> ) </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>& Barry::Mode::Desktop::GetDBDB </td> <td>(</td> <td class="paramname"></td> <td> ) </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 &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 & </td> <td class="paramname"> <em>name</em></td> <td> ) </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> </td><td valign="top"><em>name</em> </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> </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 &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 </td> <td class="paramname"> <em>dbId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </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> & </td> <td class="paramname"> <em>parser</em></td><td> </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 &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 </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> & </td> <td class="paramname"> <em>result</em></td><td> </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 &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 </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> & </td> <td class="paramname"> <em>parser</em></td><td> </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<> template to create a parser object. The RecordParser<> 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> </td><td valign="top"><em>dbId</em> </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> </td><td valign="top"><em>parser</em> </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<> 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> </td><td>Thrown on protocol error.</td></tr> <tr><td valign="top"></td><td valign="top"><em>std::logic_error</em> </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 &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 </td> <td class="paramname"> <em>dbId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </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> & </td> <td class="paramname"> <em>build</em></td><td> </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 <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>