Tarball tree for barry-0.15.tar.bz2
[barry.git] / doc / www / doxygen / html / classBarry_1_1DBPacket.html
blob6c8385137e1a8263be5ea55f8afdc8b194b8dc7f
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>Barry: Barry::DBPacket Class Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.6 -->
8 <div class="navigation" id="top">
9 <div class="tabs">
10 <ul>
11 <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="modules.html"><span>Modules</span></a></li>
13 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14 <li class="current"><a href="classes.html"><span>Classes</span></a></li>
15 <li><a href="files.html"><span>Files</span></a></li>
16 <li><a href="dirs.html"><span>Directories</span></a></li>
17 </ul>
18 </div>
19 <div class="tabs">
20 <ul>
21 <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
22 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
23 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
24 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
25 </ul>
26 </div>
27 <div class="navpath"><a class="el" href="namespaceBarry.html">Barry</a>::<a class="el" href="classBarry_1_1DBPacket.html">DBPacket</a>
28 </div>
29 </div>
30 <div class="contents">
31 <h1>Barry::DBPacket Class Reference</h1><!-- doxytag: class="Barry::DBPacket" --><!-- doxytag: inherits="Barry::Packet" --><code>#include &lt;<a class="el" href="packet_8h-source.html">packet.h</a>&gt;</code>
32 <p>
33 <div class="dynheader">
34 Inheritance diagram for Barry::DBPacket:</div>
35 <div class="dynsection">
36 <p><center><img src="classBarry_1_1DBPacket__inherit__graph.png" border="0" usemap="#Barry_1_1DBPacket__inherit__map" alt="Inheritance graph"></center>
37 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
38 <div class="dynheader">
39 Collaboration diagram for Barry::DBPacket:</div>
40 <div class="dynsection">
41 <p><center><img src="classBarry_1_1DBPacket__coll__graph.png" border="0" usemap="#Barry_1_1DBPacket__coll__map" alt="Collaboration graph"></center>
42 <map name="Barry_1_1DBPacket__coll__map">
43 <area shape="rect" href="classBarry_1_1IConverter.html" title="Main charset conversion class, primarily focused on converting between the Blackberry..." alt="" coords="1127,108,1247,135"><area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases." alt="" coords="1428,108,1575,135"><area shape="rect" href="classBarry_1_1Mode_1_1Mode.html" title="Base class for simple mode classes." alt="" coords="1121,159,1252,185"><area shape="rect" href="classBarry_1_1Controller.html" title="The main interface class." alt="" coords="867,272,981,299"><area shape="rect" title="STL class." alt="" coords="332,116,412,143"><area shape="rect" title="STL class." alt="" coords="7,116,172,143"><area shape="rect" href="classBarry_1_1DataQueue.html" title="This class provides a thread aware fifo queue for Data objects, providing memory..." alt="" coords="27,396,152,423"><area shape="rect" href="classBarry_1_1IConvHandle.html" title="Wrapper class for a two&#45;way iconv_t handle pair." alt="" coords="857,149,991,176"></map>
44 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
46 <p>
47 <a href="classBarry_1_1DBPacket-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
48 Provides an API for building and analyzing raw DB protocol packets.
49 <p>
50 This class relies on 3 external objects: a <a class="el" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases.">Mode::Desktop</a> object, a send Data buffer, and a receive data buffer. <a class="el" href="classBarry_1_1Socket.html" title="Encapsulates a &quot;logical socket&quot; in the Blackberry USB protocol.">Socket</a> and connection details are retrieved on a readonly basis from the <a class="el" href="classBarry_1_1Mode_1_1Desktop.html" title="The main interface class to the device databases.">Mode::Desktop</a> object, but both send and receive buffers can be modified.<p>
51 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.
52 <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>
53 <table border="0" cellpadding="0" cellspacing="0">
54 <tr><td></td></tr>
55 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
56 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#ace85c6dd63c5f85e21e9f61e10e5af5">ClearDatabase</a> (unsigned int dbId)</td></tr>
58 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet for the CLEAR_DATABASE command code, placing the data in the send buffer. <a href="#ace85c6dd63c5f85e21e9f61e10e5af5"></a><br></td></tr>
59 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#206e98e5159e7fe7790d4976d0f039a0">GetDBDB</a> ()</td></tr>
61 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet for the GET_DBDB command code, placing the data in m_send. <a href="#206e98e5159e7fe7790d4976d0f039a0"></a><br></td></tr>
62 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#07e2e8ca566a1f4d7cc493983b56c32b">GetRecordStateTable</a> (unsigned int dbId)</td></tr>
64 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the GET_RECORD_STATE_TABLE command. <a href="#07e2e8ca566a1f4d7cc493983b56c32b"></a><br></td></tr>
65 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#9f0237393389b714f30bf56e616183dd">SetRecordFlags</a> (unsigned int dbId, unsigned int stateTableIndex, uint8_t flag1)</td></tr>
67 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the SET_RECORD_FLAGS command code. <a href="#9f0237393389b714f30bf56e616183dd"></a><br></td></tr>
68 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#fb9625f072f936a03ebee1ac64b78bf4">DeleteRecordByIndex</a> (unsigned int dbId, unsigned int stateTableIndex)</td></tr>
70 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the DELETE_RECORD_BY_INDEX command code. <a href="#fb9625f072f936a03ebee1ac64b78bf4"></a><br></td></tr>
71 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#95355f6de0ab12e9eacd0727e8a66965">GetRecordByIndex</a> (unsigned int dbId, unsigned int stateTableIndex)</td></tr>
73 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the GET_RECORD_BY_INDEX command code. <a href="#95355f6de0ab12e9eacd0727e8a66965"></a><br></td></tr>
74 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#7a41833dcc12c2823cd54991161e8d26">SetRecordByIndex</a> (unsigned int dbId, unsigned int stateTableIndex, <a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;build, const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *ic)</td></tr>
76 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the m_send buffer for the SET_RECORD_BY_INDEX command code. <a href="#7a41833dcc12c2823cd54991161e8d26"></a><br></td></tr>
77 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#173b8eb90186edc54e8a679d7498bcb5">GetRecords</a> (unsigned int dbId)</td></tr>
79 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the send buffer for the GET_RECORDS command code. <a href="#173b8eb90186edc54e8a679d7498bcb5"></a><br></td></tr>
80 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#26c4025403d129f658c1919190c0a0f0">SetRecord</a> (unsigned int dbId, <a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;build, const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *ic)</td></tr>
82 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Builds a command packet in the m_send buffer for the SET_RECORD command code. <a href="#26c4025403d129f658c1919190c0a0f0"></a><br></td></tr>
83 <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#0efa0a4b999ca8fab4a628796181205a">DBOperation</a> () const </td></tr>
85 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the database operation code from the receive packet, assuming that receive contains a response packet. <a href="#0efa0a4b999ca8fab4a628796181205a"></a><br></td></tr>
86 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DBPacket.html#43b96166db565fb8b37085d06d3a446c">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>
88 <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="#43b96166db565fb8b37085d06d3a446c"></a><br></td></tr>
89 </table>
90 <hr><h2>Member Function Documentation</h2>
91 <a class="anchor" name="ace85c6dd63c5f85e21e9f61e10e5af5"></a><!-- doxytag: member="Barry::DBPacket::ClearDatabase" ref="ace85c6dd63c5f85e21e9f61e10e5af5" args="(unsigned int dbId)" -->
92 <div class="memitem">
93 <div class="memproto">
94 <table class="memname">
95 <tr>
96 <td class="memname">void Barry::DBPacket::ClearDatabase </td>
97 <td>(</td>
98 <td class="paramtype">unsigned int&nbsp;</td>
99 <td class="paramname"> <em>dbId</em> </td>
100 <td>&nbsp;)&nbsp;</td>
101 <td></td>
102 </tr>
103 </table>
104 </div>
105 <div class="memdoc">
108 Builds a command packet for the CLEAR_DATABASE command code, placing the data in the send buffer.
111 <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>
113 <p>References <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>.</p>
116 <div class="dynheader">
117 Here is the call graph for this function:</div>
118 <div class="dynsection">
119 <p><center><img src="classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map" alt=""></center>
120 <map name="classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map">
121 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="268,5,521,32"></map>
122 </div>
124 </div>
125 </div><p>
126 <a class="anchor" name="206e98e5159e7fe7790d4976d0f039a0"></a><!-- doxytag: member="Barry::DBPacket::GetDBDB" ref="206e98e5159e7fe7790d4976d0f039a0" args="()" -->
127 <div class="memitem">
128 <div class="memproto">
129 <table class="memname">
130 <tr>
131 <td class="memname">void Barry::DBPacket::GetDBDB </td>
132 <td>(</td>
133 <td class="paramname"> </td>
134 <td>&nbsp;)&nbsp;</td>
135 <td></td>
136 </tr>
137 </table>
138 </div>
139 <div class="memdoc">
142 Builds a command packet for the GET_DBDB command code, placing the data in m_send.
145 <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>
147 <p>References <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>.</p>
150 <div class="dynheader">
151 Here is the call graph for this function:</div>
152 <div class="dynsection">
153 <p><center><img src="classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph_map" alt=""></center>
154 <map name="classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph_map">
155 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="239,5,492,32"></map>
156 </div>
158 </div>
159 </div><p>
160 <a class="anchor" name="07e2e8ca566a1f4d7cc493983b56c32b"></a><!-- doxytag: member="Barry::DBPacket::GetRecordStateTable" ref="07e2e8ca566a1f4d7cc493983b56c32b" args="(unsigned int dbId)" -->
161 <div class="memitem">
162 <div class="memproto">
163 <table class="memname">
164 <tr>
165 <td class="memname">void Barry::DBPacket::GetRecordStateTable </td>
166 <td>(</td>
167 <td class="paramtype">unsigned int&nbsp;</td>
168 <td class="paramname"> <em>dbId</em> </td>
169 <td>&nbsp;)&nbsp;</td>
170 <td></td>
171 </tr>
172 </table>
173 </div>
174 <div class="memdoc">
177 Builds a command packet in the send buffer for the GET_RECORD_STATE_TABLE command.
180 <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>
182 <p>References <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>.</p>
184 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00187">Barry::Mode::Desktop::GetRecordStateTable()</a>.</p>
187 <div class="dynheader">
188 Here is the call graph for this function:</div>
189 <div class="dynsection">
190 <p><center><img src="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map" alt=""></center>
191 <map name="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map">
192 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="308,5,561,32"></map>
193 </div>
196 <div class="dynheader">
197 Here is the caller graph for this function:</div>
198 <div class="dynsection">
199 <p><center><img src="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph_map" alt=""></center>
200 <map name="classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph_map">
201 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#047fe0a4a6dff740822451ffd38ddd84" title="Retrieve the record state table from the handheld device, using the given database..." alt="" coords="307,5,587,32"></map>
202 </div>
204 </div>
205 </div><p>
206 <a class="anchor" name="9f0237393389b714f30bf56e616183dd"></a><!-- doxytag: member="Barry::DBPacket::SetRecordFlags" ref="9f0237393389b714f30bf56e616183dd" args="(unsigned int dbId, unsigned int stateTableIndex, uint8_t flag1)" -->
207 <div class="memitem">
208 <div class="memproto">
209 <table class="memname">
210 <tr>
211 <td class="memname">void Barry::DBPacket::SetRecordFlags </td>
212 <td>(</td>
213 <td class="paramtype">unsigned int&nbsp;</td>
214 <td class="paramname"> <em>dbId</em>, </td>
215 </tr>
216 <tr>
217 <td class="paramkey"></td>
218 <td></td>
219 <td class="paramtype">unsigned int&nbsp;</td>
220 <td class="paramname"> <em>stateTableIndex</em>, </td>
221 </tr>
222 <tr>
223 <td class="paramkey"></td>
224 <td></td>
225 <td class="paramtype">uint8_t&nbsp;</td>
226 <td class="paramname"> <em>flag1</em></td><td>&nbsp;</td>
227 </tr>
228 <tr>
229 <td></td>
230 <td>)</td>
231 <td></td><td></td><td></td>
232 </tr>
233 </table>
234 </div>
235 <div class="memdoc">
238 Builds a command packet in the send buffer for the SET_RECORD_FLAGS command code.
240 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.
241 <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>
243 <p>References <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>.</p>
245 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00335">Barry::Mode::Desktop::ClearDirty()</a>.</p>
248 <div class="dynheader">
249 Here is the call graph for this function:</div>
250 <div class="dynsection">
251 <p><center><img src="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph_map" alt=""></center>
252 <map name="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph_map">
253 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="276,5,529,32"></map>
254 </div>
257 <div class="dynheader">
258 Here is the caller graph for this function:</div>
259 <div class="dynsection">
260 <p><center><img src="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph_map" alt=""></center>
261 <map name="classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph_map">
262 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#a766fb027d28f7cf4bb069eb0991baaa" title="Clears the dirty flag on the specified record in the specified database." alt="" coords="275,5,488,32"></map>
263 </div>
265 </div>
266 </div><p>
267 <a class="anchor" name="fb9625f072f936a03ebee1ac64b78bf4"></a><!-- doxytag: member="Barry::DBPacket::DeleteRecordByIndex" ref="fb9625f072f936a03ebee1ac64b78bf4" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
268 <div class="memitem">
269 <div class="memproto">
270 <table class="memname">
271 <tr>
272 <td class="memname">void Barry::DBPacket::DeleteRecordByIndex </td>
273 <td>(</td>
274 <td class="paramtype">unsigned int&nbsp;</td>
275 <td class="paramname"> <em>dbId</em>, </td>
276 </tr>
277 <tr>
278 <td class="paramkey"></td>
279 <td></td>
280 <td class="paramtype">unsigned int&nbsp;</td>
281 <td class="paramname"> <em>stateTableIndex</em></td><td>&nbsp;</td>
282 </tr>
283 <tr>
284 <td></td>
285 <td>)</td>
286 <td></td><td></td><td></td>
287 </tr>
288 </table>
289 </div>
290 <div class="memdoc">
293 Builds a command packet in the send buffer for the DELETE_RECORD_BY_INDEX command code.
296 <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>
298 <p>References <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>.</p>
300 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00355">Barry::Mode::Desktop::DeleteRecord()</a>.</p>
303 <div class="dynheader">
304 Here is the call graph for this function:</div>
305 <div class="dynsection">
306 <p><center><img src="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph_map" alt=""></center>
307 <map name="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph_map">
308 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="308,5,561,32"></map>
309 </div>
312 <div class="dynheader">
313 Here is the caller graph for this function:</div>
314 <div class="dynsection">
315 <p><center><img src="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph_map" alt=""></center>
316 <map name="classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph_map">
317 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#04cd4063958483b31cc98a353f335fe0" title="Deletes the specified record in the specified database." alt="" coords="307,5,541,32"></map>
318 </div>
320 </div>
321 </div><p>
322 <a class="anchor" name="95355f6de0ab12e9eacd0727e8a66965"></a><!-- doxytag: member="Barry::DBPacket::GetRecordByIndex" ref="95355f6de0ab12e9eacd0727e8a66965" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
323 <div class="memitem">
324 <div class="memproto">
325 <table class="memname">
326 <tr>
327 <td class="memname">void Barry::DBPacket::GetRecordByIndex </td>
328 <td>(</td>
329 <td class="paramtype">unsigned int&nbsp;</td>
330 <td class="paramname"> <em>dbId</em>, </td>
331 </tr>
332 <tr>
333 <td class="paramkey"></td>
334 <td></td>
335 <td class="paramtype">unsigned int&nbsp;</td>
336 <td class="paramname"> <em>stateTableIndex</em></td><td>&nbsp;</td>
337 </tr>
338 <tr>
339 <td></td>
340 <td>)</td>
341 <td></td><td></td><td></td>
342 </tr>
343 </table>
344 </div>
345 <div class="memdoc">
348 Builds a command packet in the send buffer for the GET_RECORD_BY_INDEX command code.
351 <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>
353 <p>References <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>.</p>
355 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00250">Barry::Mode::Desktop::GetRecord()</a>.</p>
358 <div class="dynheader">
359 Here is the call graph for this function:</div>
360 <div class="dynsection">
361 <p><center><img src="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph_map" alt=""></center>
362 <map name="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph_map">
363 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="292,5,545,32"></map>
364 </div>
367 <div class="dynheader">
368 Here is the caller graph for this function:</div>
369 <div class="dynsection">
370 <p><center><img src="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph_map" alt=""></center>
371 <map name="classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph_map">
372 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#2420208d094c0195dd41b5836f54dc10" title="Retrieves a specific record from the specified database." alt="" coords="291,5,509,32"></map>
373 </div>
375 </div>
376 </div><p>
377 <a class="anchor" name="7a41833dcc12c2823cd54991161e8d26"></a><!-- doxytag: member="Barry::DBPacket::SetRecordByIndex" ref="7a41833dcc12c2823cd54991161e8d26" args="(unsigned int dbId, unsigned int stateTableIndex, Builder &amp;build, const IConverter *ic)" -->
378 <div class="memitem">
379 <div class="memproto">
380 <table class="memname">
381 <tr>
382 <td class="memname">bool Barry::DBPacket::SetRecordByIndex </td>
383 <td>(</td>
384 <td class="paramtype">unsigned int&nbsp;</td>
385 <td class="paramname"> <em>dbId</em>, </td>
386 </tr>
387 <tr>
388 <td class="paramkey"></td>
389 <td></td>
390 <td class="paramtype">unsigned int&nbsp;</td>
391 <td class="paramname"> <em>stateTableIndex</em>, </td>
392 </tr>
393 <tr>
394 <td class="paramkey"></td>
395 <td></td>
396 <td class="paramtype"><a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;&nbsp;</td>
397 <td class="paramname"> <em>build</em>, </td>
398 </tr>
399 <tr>
400 <td class="paramkey"></td>
401 <td></td>
402 <td class="paramtype">const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *&nbsp;</td>
403 <td class="paramname"> <em>ic</em></td><td>&nbsp;</td>
404 </tr>
405 <tr>
406 <td></td>
407 <td>)</td>
408 <td></td><td></td><td></td>
409 </tr>
410 </table>
411 </div>
412 <div class="memdoc">
415 Builds a command packet in the m_send buffer for the SET_RECORD_BY_INDEX command code.
417 <dl class="return" compact><dt><b>Returns:</b></dt><dd>bool<ul>
418 <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>
419 </dd></dl>
421 <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>
423 <p>References <a class="el" href="classBarry_1_1Builder.html#8414acbff050df62c01d8835115e6d18">Barry::Builder::BuildFields()</a>, <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>, and <a class="el" href="classBarry_1_1Builder.html#936d3e7b4e771fb2f7ee48476d802407">Barry::Builder::Retrieve()</a>.</p>
425 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00298">Barry::Mode::Desktop::SetRecord()</a>.</p>
428 <div class="dynheader">
429 Here is the call graph for this function:</div>
430 <div class="dynsection">
431 <p><center><img src="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph_map" alt=""></center>
432 <map name="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph_map">
433 <area shape="rect" href="classBarry_1_1Builder.html#8414acbff050df62c01d8835115e6d18" title="Called to build the record field data." alt="" coords="333,5,504,32"><area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="292,56,545,83"><area shape="rect" href="classBarry_1_1Builder.html#936d3e7b4e771fb2f7ee48476d802407" title="Called first in the sequence, to allow the application to load the needed data from..." alt="" coords="341,107,496,133"></map>
434 </div>
437 <div class="dynheader">
438 Here is the caller graph for this function:</div>
439 <div class="dynsection">
440 <p><center><img src="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph_map" alt=""></center>
441 <map name="classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph_map">
442 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#bf813b7fb04062515369209c8073dab0" title="Overwrites a specific record in the device as identified by the stateTableIndex." alt="" coords="292,5,508,32"></map>
443 </div>
445 </div>
446 </div><p>
447 <a class="anchor" name="173b8eb90186edc54e8a679d7498bcb5"></a><!-- doxytag: member="Barry::DBPacket::GetRecords" ref="173b8eb90186edc54e8a679d7498bcb5" args="(unsigned int dbId)" -->
448 <div class="memitem">
449 <div class="memproto">
450 <table class="memname">
451 <tr>
452 <td class="memname">void Barry::DBPacket::GetRecords </td>
453 <td>(</td>
454 <td class="paramtype">unsigned int&nbsp;</td>
455 <td class="paramname"> <em>dbId</em> </td>
456 <td>&nbsp;)&nbsp;</td>
457 <td></td>
458 </tr>
459 </table>
460 </div>
461 <div class="memdoc">
464 Builds a command packet in the send buffer for the GET_RECORDS command code.
467 <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>
469 <p>References <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>.</p>
471 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00393">Barry::Mode::Desktop::LoadDatabase()</a>.</p>
474 <div class="dynheader">
475 Here is the call graph for this function:</div>
476 <div class="dynsection">
477 <p><center><img src="classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph_map" alt=""></center>
478 <map name="classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph_map">
479 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="252,5,505,32"></map>
480 </div>
483 <div class="dynheader">
484 Here is the caller graph for this function:</div>
485 <div class="dynsection">
486 <p><center><img src="classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_icgraph_map" alt=""></center>
487 <map name="classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_icgraph_map">
488 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#6bb1c96d6082575b5fa684dee2af51a6" title="Retrieve a database from the handheld device, using the given parser to parse the..." alt="" coords="251,5,491,32"></map>
489 </div>
491 </div>
492 </div><p>
493 <a class="anchor" name="26c4025403d129f658c1919190c0a0f0"></a><!-- doxytag: member="Barry::DBPacket::SetRecord" ref="26c4025403d129f658c1919190c0a0f0" args="(unsigned int dbId, Builder &amp;build, const IConverter *ic)" -->
494 <div class="memitem">
495 <div class="memproto">
496 <table class="memname">
497 <tr>
498 <td class="memname">bool Barry::DBPacket::SetRecord </td>
499 <td>(</td>
500 <td class="paramtype">unsigned int&nbsp;</td>
501 <td class="paramname"> <em>dbId</em>, </td>
502 </tr>
503 <tr>
504 <td class="paramkey"></td>
505 <td></td>
506 <td class="paramtype"><a class="el" href="classBarry_1_1Builder.html">Builder</a> &amp;&nbsp;</td>
507 <td class="paramname"> <em>build</em>, </td>
508 </tr>
509 <tr>
510 <td class="paramkey"></td>
511 <td></td>
512 <td class="paramtype">const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *&nbsp;</td>
513 <td class="paramname"> <em>ic</em></td><td>&nbsp;</td>
514 </tr>
515 <tr>
516 <td></td>
517 <td>)</td>
518 <td></td><td></td><td></td>
519 </tr>
520 </table>
521 </div>
522 <div class="memdoc">
525 Builds a command packet in the m_send buffer for the SET_RECORD command code.
527 <dl class="return" compact><dt><b>Returns:</b></dt><dd>bool<ul>
528 <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>
529 </dd></dl>
531 <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>
533 <p>References <a class="el" href="classBarry_1_1Builder.html#8414acbff050df62c01d8835115e6d18">Barry::Builder::BuildFields()</a>, <a class="el" href="classBarry_1_1Builder.html#7fd24f3f6d34bd1a6e8875ce7c242e9b">Barry::Builder::BuildHeader()</a>, <a class="el" href="m__desktop_8cc-source.html#l00151">Barry::Mode::Desktop::GetDBCommand()</a>, <a class="el" href="classBarry_1_1Builder.html#b586fc135c6fbe0d1f9019bc4a2639d0">Barry::Builder::GetRecType()</a>, Barry::Builder::GetUniqueId(), and <a class="el" href="classBarry_1_1Builder.html#936d3e7b4e771fb2f7ee48476d802407">Barry::Builder::Retrieve()</a>.</p>
535 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00214">Barry::Mode::Desktop::AddRecord()</a>.</p>
538 <div class="dynheader">
539 Here is the call graph for this function:</div>
540 <div class="dynsection">
541 <p><center><img src="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph_map" alt=""></center>
542 <map name="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph_map">
543 <area shape="rect" href="classBarry_1_1Builder.html#8414acbff050df62c01d8835115e6d18" title="Called to build the record field data." alt="" coords="285,5,456,32"><area shape="rect" href="classBarry_1_1Builder.html#7fd24f3f6d34bd1a6e8875ce7c242e9b" title="Called before BuildFields() in order to build the header for this record." alt="" coords="281,56,460,83"><area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title="Get database command from command table." alt="" coords="244,107,497,133"><area shape="rect" href="classBarry_1_1Builder.html#b586fc135c6fbe0d1f9019bc4a2639d0" title="Called to retrive the unique ID for this record." alt="" coords="281,157,460,184"><area shape="rect" href="classBarry_1_1Builder.html#3f91d4f44e886ddf390a1726742f2e70" title="Barry::Builder::GetUniqueId" alt="" coords="281,208,460,235"><area shape="rect" href="classBarry_1_1Builder.html#936d3e7b4e771fb2f7ee48476d802407" title="Called first in the sequence, to allow the application to load the needed data from..." alt="" coords="293,259,448,285"></map>
544 </div>
547 <div class="dynheader">
548 Here is the caller graph for this function:</div>
549 <div class="dynsection">
550 <p><center><img src="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph_map" alt=""></center>
551 <map name="classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph_map">
552 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#0fec0d31ff496974acfc15fdc75f074a" title="Adds a record to the specified database." alt="" coords="244,5,463,32"></map>
553 </div>
555 </div>
556 </div><p>
557 <a class="anchor" name="0efa0a4b999ca8fab4a628796181205a"></a><!-- doxytag: member="Barry::DBPacket::DBOperation" ref="0efa0a4b999ca8fab4a628796181205a" args="() const " -->
558 <div class="memitem">
559 <div class="memproto">
560 <table class="memname">
561 <tr>
562 <td class="memname">unsigned int Barry::DBPacket::DBOperation </td>
563 <td>(</td>
564 <td class="paramname"> </td>
565 <td>&nbsp;)&nbsp;</td>
566 <td> const</td>
567 </tr>
568 </table>
569 </div>
570 <div class="memdoc">
573 Returns the database operation code from the receive packet, assuming that receive contains a response packet.
575 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>.
576 <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>
578 </div>
579 </div><p>
580 <a class="anchor" name="43b96166db565fb8b37085d06d3a446c"></a><!-- doxytag: member="Barry::DBPacket::Parse" ref="43b96166db565fb8b37085d06d3a446c" args="(Parser &amp;parser, const IConverter *ic)" -->
581 <div class="memitem">
582 <div class="memproto">
583 <table class="memname">
584 <tr>
585 <td class="memname">bool Barry::DBPacket::Parse </td>
586 <td>(</td>
587 <td class="paramtype"><a class="el" href="classBarry_1_1Parser.html">Parser</a> &amp;&nbsp;</td>
588 <td class="paramname"> <em>parser</em>, </td>
589 </tr>
590 <tr>
591 <td class="paramkey"></td>
592 <td></td>
593 <td class="paramtype">const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *&nbsp;</td>
594 <td class="paramname"> <em>ic</em></td><td>&nbsp;</td>
595 </tr>
596 <tr>
597 <td></td>
598 <td>)</td>
599 <td></td><td></td><td></td>
600 </tr>
601 </table>
602 </div>
603 <div class="memdoc">
606 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.
608 <dl class="return" compact><dt><b>Returns:</b></dt><dd>bool true - packet was recognized and parse was attempted false - packet was not recognized </dd></dl>
610 <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>
612 <p>References <a class="el" href="classBarry_1_1Parser.html#15acb3544613d43d8f928cd63a19022b">Barry::Parser::Clear()</a>, <a class="el" href="classBarry_1_1Parser.html#645718d87aaad3ee2c36664de05046d2">Barry::Parser::ParseFields()</a>, <a class="el" href="classBarry_1_1Parser.html#2087d07fb5d8d57c934c4e60278f41d8">Barry::Parser::ParseHeader()</a>, <a class="el" href="classBarry_1_1Parser.html#95bfc4014e3e8ded94625f43d1d29800">Barry::Parser::SetIds()</a>, and <a class="el" href="classBarry_1_1Parser.html#bf8ab1598be74268ee486af938c527d4">Barry::Parser::Store()</a>.</p>
614 <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00250">Barry::Mode::Desktop::GetRecord()</a>, and <a class="el" href="m__desktop_8cc-source.html#l00393">Barry::Mode::Desktop::LoadDatabase()</a>.</p>
617 <div class="dynheader">
618 Here is the call graph for this function:</div>
619 <div class="dynsection">
620 <p><center><img src="classBarry_1_1DBPacket_43b96166db565fb8b37085d06d3a446c_cgraph.png" border="0" usemap="#classBarry_1_1DBPacket_43b96166db565fb8b37085d06d3a446c_cgraph_map" alt=""></center>
621 <map name="classBarry_1_1DBPacket_43b96166db565fb8b37085d06d3a446c_cgraph_map">
622 <area shape="rect" href="classBarry_1_1Parser.html#15acb3544613d43d8f928cd63a19022b" title="Reset and prepare for a new raw data packet." alt="" coords="239,5,375,32"><area shape="rect" href="classBarry_1_1Parser.html#645718d87aaad3ee2c36664de05046d2" title="Called to parse sub fields in the raw data packet." alt="" coords="219,56,395,83"><area shape="rect" href="classBarry_1_1Parser.html#2087d07fb5d8d57c934c4e60278f41d8" title="Called to parse the header portion of the raw data packet." alt="" coords="216,107,397,133"><area shape="rect" href="classBarry_1_1Parser.html#95bfc4014e3e8ded94625f43d1d29800" title="Stores the IDs." alt="" coords="235,157,379,184"><area shape="rect" href="classBarry_1_1Parser.html#bf8ab1598be74268ee486af938c527d4" title="Called at the very end of record parsing, and used to store the final packet somewhere..." alt="" coords="239,208,375,235"></map>
623 </div>
626 <div class="dynheader">
627 Here is the caller graph for this function:</div>
628 <div class="dynsection">
629 <p><center><img src="classBarry_1_1DBPacket_43b96166db565fb8b37085d06d3a446c_icgraph.png" border="0" usemap="#classBarry_1_1DBPacket_43b96166db565fb8b37085d06d3a446c_icgraph_map" alt=""></center>
630 <map name="classBarry_1_1DBPacket_43b96166db565fb8b37085d06d3a446c_icgraph_map">
631 <area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#2420208d094c0195dd41b5836f54dc10" title="Retrieves a specific record from the specified database." alt="" coords="227,5,445,32"><area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#6bb1c96d6082575b5fa684dee2af51a6" title="Retrieve a database from the handheld device, using the given parser to parse the..." alt="" coords="216,56,456,83"></map>
632 </div>
634 </div>
635 </div><p>
636 <hr>The documentation for this class was generated from the following files:<ul>
637 <li><a class="el" href="packet_8h-source.html">packet.h</a><li><a class="el" href="packet_8cc-source.html">packet.cc</a></ul>
638 </div>
639 <hr size="1"><address style="text-align: right;"><small>Generated on Sat Aug 29 00:02:15 2009 for Barry by&nbsp;
640 <a href="http://www.doxygen.org/index.html">
641 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
642 </body>
643 </html>