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">
7 <!-- Generated by Doxygen 1.5.6 -->
8 <div class=
"navigation" id=
"top">
11 <li><a href=
"index.html"><span>Main
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>
21 <li><a href=
"classes.html"><span>Alphabetical
List
</span></a></li>
22 <li><a href=
"annotated.html"><span>Class
List
</span></a></li>
23 <li><a href=
"hierarchy.html"><span>Class
Hierarchy
</span></a></li>
24 <li><a href=
"functions.html"><span>Class
Members
</span></a></li>
27 <div class=
"navpath"><a class=
"el" href=
"namespaceBarry.html">Barry
</a>::
<a class=
"el" href=
"classBarry_1_1DBPacket.html">DBPacket
</a>
30 <div class=
"contents">
31 <h1>Barry::DBPacket Class Reference
</h1><!-- doxytag: class="Barry::DBPacket" --><!-- doxytag: inherits="Barry::Packet" --><code>#include
<<a class=
"el" href=
"packet_8h-source.html">packet.h
</a>></code>
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_1Mode_1_1Desktop.html" title=
"The main interface class to the device databases." alt=
"" coords=
"1436,153,1583,180"><area shape=
"rect" href=
"classBarry_1_1IConverter.html" title=
"Main charset conversion class, primarily focused on converting between the Blackberry..." alt=
"" coords=
"1135,127,1255,153"><area shape=
"rect" href=
"classBarry_1_1Mode_1_1Mode.html" title=
"Base class for simple mode classes." alt=
"" coords=
"1129,177,1260,204"><area shape=
"rect" href=
"classBarry_1_1Controller.html" title=
"The main interface class." alt=
"" coords=
"875,368,989,395"><area shape=
"rect" title=
"STL class." alt=
"" coords=
"332,177,412,204"><area shape=
"rect" title=
"STL class." alt=
"" coords=
"7,177,172,204"><area shape=
"rect" href=
"classBarry_1_1DataQueue.html" title=
"This class provides a thread aware fifo queue for Data objects, providing memory..." alt=
"" coords=
"27,364,152,391"><area shape=
"rect" href=
"classBarry_1_1IConvHandle.html" title=
"Wrapper class for a two-way iconv_t handle pair." alt=
"" coords=
"865,188,999,215"></map>
44 <center><font size=
"2">[
<a href=
"graph_legend.html">legend
</a>]
</font></center></div>
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.
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 "logical socket" 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#l00133">133</a> of file
<a class=
"el" href=
"packet_8h-source.html">packet.h
</a>.
</p>
53 <table border=
"0" cellpadding=
"0" cellspacing=
"0">
55 <tr><td colspan=
"2"><br><h2>Public Member Functions
</h2></td></tr>
56 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">void
</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"> </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
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classBarry_1_1DBPacket.html#206e98e5159e7fe7790d4976d0f039a0">GetDBDB
</a> ()
</td></tr>
61 <tr><td class=
"mdescLeft"> </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
</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"> </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
</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"> </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
</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"> </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
</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"> </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
</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> &build, const
<a class=
"el" href=
"classBarry_1_1IConverter.html">IConverter
</a> *ic)
</td></tr>
76 <tr><td class=
"mdescLeft"> </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
</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"> </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
</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> &build, const
<a class=
"el" href=
"classBarry_1_1IConverter.html">IConverter
</a> *ic)
</td></tr>
82 <tr><td class=
"mdescLeft"> </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
</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"> </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
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classBarry_1_1DBPacket.html#fd64b6c98e7ad1d482a8339e0283ff90">Parse
</a> (
<a class=
"el" href=
"classBarry_1_1Parser.html">Parser
</a> &parser, const std::string
&dbname, const
<a class=
"el" href=
"classBarry_1_1IConverter.html">IConverter
</a> *ic)
</td></tr>
88 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Parses the data in the receive buffer, and attempts to be smart about it, using the last send command as guidance for what to expect in the response.
<a href=
"#fd64b6c98e7ad1d482a8339e0283ff90"></a><br></td></tr>
89 <tr><td class=
"memItemLeft" nowrap
align=
"right" valign=
"top">bool
</td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classBarry_1_1DBPacket.html#1bea52fca1a38648a956508df57248cd">ParseMeta
</a> (
<a class=
"el" href=
"classBarry_1_1DBData.html">DBData
</a> &data)
</td></tr>
91 <tr><td class=
"mdescLeft"> </td><td class=
"mdescRight">Fills DBData's meta data based on its data block, and the last dbop.
<a href=
"#1bea52fca1a38648a956508df57248cd"></a><br></td></tr>
93 <hr><h2>Member Function Documentation
</h2>
94 <a class=
"anchor" name=
"ace85c6dd63c5f85e21e9f61e10e5af5"></a><!-- doxytag: member="Barry::DBPacket::ClearDatabase" ref="ace85c6dd63c5f85e21e9f61e10e5af5" args="(unsigned int dbId)" -->
96 <div class=
"memproto">
97 <table class=
"memname">
99 <td class=
"memname">void Barry::DBPacket::ClearDatabase
</td>
101 <td class=
"paramtype">unsigned int
</td>
102 <td class=
"paramname"> <em>dbId
</em> </td>
103 <td> )
</td>
111 Builds a command packet for the CLEAR_DATABASE command code, placing the data in the send buffer.
114 <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>
116 <p>References
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
119 <div class=
"dynheader">
120 Here is the call graph for this function:
</div>
121 <div class=
"dynsection">
122 <p><center><img src=
"classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map" alt=
""></center>
123 <map name=
"classBarry_1_1DBPacket_ace85c6dd63c5f85e21e9f61e10e5af5_cgraph_map">
124 <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>
129 <a class=
"anchor" name=
"206e98e5159e7fe7790d4976d0f039a0"></a><!-- doxytag: member="Barry::DBPacket::GetDBDB" ref="206e98e5159e7fe7790d4976d0f039a0" args="()" -->
130 <div class=
"memitem">
131 <div class=
"memproto">
132 <table class=
"memname">
134 <td class=
"memname">void Barry::DBPacket::GetDBDB
</td>
136 <td class=
"paramname"> </td>
137 <td> )
</td>
145 Builds a command packet for the GET_DBDB command code, placing the data in m_send.
148 <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>
150 <p>References
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
153 <div class=
"dynheader">
154 Here is the call graph for this function:
</div>
155 <div class=
"dynsection">
156 <p><center><img src=
"classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph_map" alt=
""></center>
157 <map name=
"classBarry_1_1DBPacket_206e98e5159e7fe7790d4976d0f039a0_cgraph_map">
158 <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>
163 <a class=
"anchor" name=
"07e2e8ca566a1f4d7cc493983b56c32b"></a><!-- doxytag: member="Barry::DBPacket::GetRecordStateTable" ref="07e2e8ca566a1f4d7cc493983b56c32b" args="(unsigned int dbId)" -->
164 <div class=
"memitem">
165 <div class=
"memproto">
166 <table class=
"memname">
168 <td class=
"memname">void Barry::DBPacket::GetRecordStateTable
</td>
170 <td class=
"paramtype">unsigned int
</td>
171 <td class=
"paramname"> <em>dbId
</em> </td>
172 <td> )
</td>
180 Builds a command packet in the send buffer for the GET_RECORD_STATE_TABLE command.
183 <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>
185 <p>References
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
187 <p>Referenced by
<a class=
"el" href=
"m__desktop_8cc-source.html#l00186">Barry::Mode::Desktop::GetRecordStateTable()
</a>.
</p>
190 <div class=
"dynheader">
191 Here is the call graph for this function:
</div>
192 <div class=
"dynsection">
193 <p><center><img src=
"classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map" alt=
""></center>
194 <map name=
"classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_cgraph_map">
195 <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>
199 <div class=
"dynheader">
200 Here is the caller graph for this function:
</div>
201 <div class=
"dynsection">
202 <p><center><img src=
"classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph_map" alt=
""></center>
203 <map name=
"classBarry_1_1DBPacket_07e2e8ca566a1f4d7cc493983b56c32b_icgraph_map">
204 <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>
209 <a class=
"anchor" name=
"9f0237393389b714f30bf56e616183dd"></a><!-- doxytag: member="Barry::DBPacket::SetRecordFlags" ref="9f0237393389b714f30bf56e616183dd" args="(unsigned int dbId, unsigned int stateTableIndex, uint8_t flag1)" -->
210 <div class=
"memitem">
211 <div class=
"memproto">
212 <table class=
"memname">
214 <td class=
"memname">void Barry::DBPacket::SetRecordFlags
</td>
216 <td class=
"paramtype">unsigned int
</td>
217 <td class=
"paramname"> <em>dbId
</em>,
</td>
220 <td class=
"paramkey"></td>
222 <td class=
"paramtype">unsigned int
</td>
223 <td class=
"paramname"> <em>stateTableIndex
</em>,
</td>
226 <td class=
"paramkey"></td>
228 <td class=
"paramtype">uint8_t
</td>
229 <td class=
"paramname"> <em>flag1
</em></td><td> </td>
234 <td></td><td></td><td></td>
241 Builds a command packet in the send buffer for the SET_RECORD_FLAGS command code.
243 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.
244 <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>
246 <p>References
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
248 <p>Referenced by
<a class=
"el" href=
"m__desktop_8cc-source.html#l00333">Barry::Mode::Desktop::ClearDirty()
</a>.
</p>
251 <div class=
"dynheader">
252 Here is the call graph for this function:
</div>
253 <div class=
"dynsection">
254 <p><center><img src=
"classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph_map" alt=
""></center>
255 <map name=
"classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_cgraph_map">
256 <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>
260 <div class=
"dynheader">
261 Here is the caller graph for this function:
</div>
262 <div class=
"dynsection">
263 <p><center><img src=
"classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph_map" alt=
""></center>
264 <map name=
"classBarry_1_1DBPacket_9f0237393389b714f30bf56e616183dd_icgraph_map">
265 <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>
270 <a class=
"anchor" name=
"fb9625f072f936a03ebee1ac64b78bf4"></a><!-- doxytag: member="Barry::DBPacket::DeleteRecordByIndex" ref="fb9625f072f936a03ebee1ac64b78bf4" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
271 <div class=
"memitem">
272 <div class=
"memproto">
273 <table class=
"memname">
275 <td class=
"memname">void Barry::DBPacket::DeleteRecordByIndex
</td>
277 <td class=
"paramtype">unsigned int
</td>
278 <td class=
"paramname"> <em>dbId
</em>,
</td>
281 <td class=
"paramkey"></td>
283 <td class=
"paramtype">unsigned int
</td>
284 <td class=
"paramname"> <em>stateTableIndex
</em></td><td> </td>
289 <td></td><td></td><td></td>
296 Builds a command packet in the send buffer for the DELETE_RECORD_BY_INDEX command code.
299 <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>
301 <p>References
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
303 <p>Referenced by
<a class=
"el" href=
"m__desktop_8cc-source.html#l00352">Barry::Mode::Desktop::DeleteRecord()
</a>.
</p>
306 <div class=
"dynheader">
307 Here is the call graph for this function:
</div>
308 <div class=
"dynsection">
309 <p><center><img src=
"classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph_map" alt=
""></center>
310 <map name=
"classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_cgraph_map">
311 <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>
315 <div class=
"dynheader">
316 Here is the caller graph for this function:
</div>
317 <div class=
"dynsection">
318 <p><center><img src=
"classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph_map" alt=
""></center>
319 <map name=
"classBarry_1_1DBPacket_fb9625f072f936a03ebee1ac64b78bf4_icgraph_map">
320 <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>
325 <a class=
"anchor" name=
"95355f6de0ab12e9eacd0727e8a66965"></a><!-- doxytag: member="Barry::DBPacket::GetRecordByIndex" ref="95355f6de0ab12e9eacd0727e8a66965" args="(unsigned int dbId, unsigned int stateTableIndex)" -->
326 <div class=
"memitem">
327 <div class=
"memproto">
328 <table class=
"memname">
330 <td class=
"memname">void Barry::DBPacket::GetRecordByIndex
</td>
332 <td class=
"paramtype">unsigned int
</td>
333 <td class=
"paramname"> <em>dbId
</em>,
</td>
336 <td class=
"paramkey"></td>
338 <td class=
"paramtype">unsigned int
</td>
339 <td class=
"paramname"> <em>stateTableIndex
</em></td><td> </td>
344 <td></td><td></td><td></td>
351 Builds a command packet in the send buffer for the GET_RECORD_BY_INDEX command code.
354 <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>
356 <p>References
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
358 <p>Referenced by
<a class=
"el" href=
"m__desktop_8cc-source.html#l00247">Barry::Mode::Desktop::GetRecord()
</a>.
</p>
361 <div class=
"dynheader">
362 Here is the call graph for this function:
</div>
363 <div class=
"dynsection">
364 <p><center><img src=
"classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph_map" alt=
""></center>
365 <map name=
"classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_cgraph_map">
366 <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>
370 <div class=
"dynheader">
371 Here is the caller graph for this function:
</div>
372 <div class=
"dynsection">
373 <p><center><img src=
"classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph_map" alt=
""></center>
374 <map name=
"classBarry_1_1DBPacket_95355f6de0ab12e9eacd0727e8a66965_icgraph_map">
375 <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>
380 <a class=
"anchor" name=
"7a41833dcc12c2823cd54991161e8d26"></a><!-- doxytag: member="Barry::DBPacket::SetRecordByIndex" ref="7a41833dcc12c2823cd54991161e8d26" args="(unsigned int dbId, unsigned int stateTableIndex, Builder &build, const IConverter *ic)" -->
381 <div class=
"memitem">
382 <div class=
"memproto">
383 <table class=
"memname">
385 <td class=
"memname">bool Barry::DBPacket::SetRecordByIndex
</td>
387 <td class=
"paramtype">unsigned int
</td>
388 <td class=
"paramname"> <em>dbId
</em>,
</td>
391 <td class=
"paramkey"></td>
393 <td class=
"paramtype">unsigned int
</td>
394 <td class=
"paramname"> <em>stateTableIndex
</em>,
</td>
397 <td class=
"paramkey"></td>
399 <td class=
"paramtype"><a class=
"el" href=
"classBarry_1_1Builder.html">Builder
</a> & </td>
400 <td class=
"paramname"> <em>build
</em>,
</td>
403 <td class=
"paramkey"></td>
405 <td class=
"paramtype">const
<a class=
"el" href=
"classBarry_1_1IConverter.html">IConverter
</a> *
</td>
406 <td class=
"paramname"> <em>ic
</em></td><td> </td>
411 <td></td><td></td><td></td>
418 Builds a command packet in the m_send buffer for the SET_RECORD_BY_INDEX command code.
420 <dl class=
"return" compact
><dt><b>Returns:
</b></dt><dd>bool
<ul>
421 <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>
424 <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>
426 <p>References
<a class=
"el" href=
"classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad">Barry::Builder::BuildRecord()
</a>, and
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
428 <p>Referenced by
<a class=
"el" href=
"m__desktop_8cc-source.html#l00297">Barry::Mode::Desktop::SetRecord()
</a>.
</p>
431 <div class=
"dynheader">
432 Here is the call graph for this function:
</div>
433 <div class=
"dynsection">
434 <p><center><img src=
"classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph_map" alt=
""></center>
435 <map name=
"classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_cgraph_map">
436 <area shape=
"rect" href=
"classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad" title=
"Called to build the record field data." alt=
"" coords=
"329,5,508,32"><area shape=
"rect" href=
"classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title=
"Get database command from command table." alt=
"" coords=
"292,56,545,83"></map>
440 <div class=
"dynheader">
441 Here is the caller graph for this function:
</div>
442 <div class=
"dynsection">
443 <p><center><img src=
"classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph_map" alt=
""></center>
444 <map name=
"classBarry_1_1DBPacket_7a41833dcc12c2823cd54991161e8d26_icgraph_map">
445 <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>
450 <a class=
"anchor" name=
"173b8eb90186edc54e8a679d7498bcb5"></a><!-- doxytag: member="Barry::DBPacket::GetRecords" ref="173b8eb90186edc54e8a679d7498bcb5" args="(unsigned int dbId)" -->
451 <div class=
"memitem">
452 <div class=
"memproto">
453 <table class=
"memname">
455 <td class=
"memname">void Barry::DBPacket::GetRecords
</td>
457 <td class=
"paramtype">unsigned int
</td>
458 <td class=
"paramname"> <em>dbId
</em> </td>
459 <td> )
</td>
467 Builds a command packet in the send buffer for the GET_RECORDS command code.
470 <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>
472 <p>References
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>.
</p>
475 <div class=
"dynheader">
476 Here is the call graph for this function:
</div>
477 <div class=
"dynsection">
478 <p><center><img src=
"classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph_map" alt=
""></center>
479 <map name=
"classBarry_1_1DBPacket_173b8eb90186edc54e8a679d7498bcb5_cgraph_map">
480 <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>
485 <a class=
"anchor" name=
"26c4025403d129f658c1919190c0a0f0"></a><!-- doxytag: member="Barry::DBPacket::SetRecord" ref="26c4025403d129f658c1919190c0a0f0" args="(unsigned int dbId, Builder &build, const IConverter *ic)" -->
486 <div class=
"memitem">
487 <div class=
"memproto">
488 <table class=
"memname">
490 <td class=
"memname">bool Barry::DBPacket::SetRecord
</td>
492 <td class=
"paramtype">unsigned int
</td>
493 <td class=
"paramname"> <em>dbId
</em>,
</td>
496 <td class=
"paramkey"></td>
498 <td class=
"paramtype"><a class=
"el" href=
"classBarry_1_1Builder.html">Builder
</a> & </td>
499 <td class=
"paramname"> <em>build
</em>,
</td>
502 <td class=
"paramkey"></td>
504 <td class=
"paramtype">const
<a class=
"el" href=
"classBarry_1_1IConverter.html">IConverter
</a> *
</td>
505 <td class=
"paramname"> <em>ic
</em></td><td> </td>
510 <td></td><td></td><td></td>
517 Builds a command packet in the m_send buffer for the SET_RECORD command code.
519 <dl class=
"return" compact
><dt><b>Returns:
</b></dt><dd>bool
<ul>
520 <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>
523 <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>
525 <p>References
<a class=
"el" href=
"classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad">Barry::Builder::BuildRecord()
</a>,
<a class=
"el" href=
"m__desktop_8cc-source.html#l00150">Barry::Mode::Desktop::GetDBCommand()
</a>,
<a class=
"el" href=
"data_8h-source.html#l00204">Barry::DBData::GetRecType()
</a>, and
<a class=
"el" href=
"data_8h-source.html#l00205">Barry::DBData::GetUniqueId()
</a>.
</p>
527 <p>Referenced by
<a class=
"el" href=
"m__desktop_8cc-source.html#l00212">Barry::Mode::Desktop::AddRecord()
</a>.
</p>
530 <div class=
"dynheader">
531 Here is the call graph for this function:
</div>
532 <div class=
"dynsection">
533 <p><center><img src=
"classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph_map" alt=
""></center>
534 <map name=
"classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_cgraph_map">
535 <area shape=
"rect" href=
"classBarry_1_1Builder.html#4a3d38061d957eb6dd0539b18d40e6ad" title=
"Called to build the record field data." alt=
"" coords=
"281,5,460,32"><area shape=
"rect" href=
"classBarry_1_1Mode_1_1Desktop.html#b1d7a169122aae509924729aedfeb24f" title=
"Get database command from command table." alt=
"" coords=
"244,56,497,83"><area shape=
"rect" href=
"classBarry_1_1DBData.html#07523eb3b1dcfd99a917a184b61cb10a" title=
"Barry::DBData::GetRecType" alt=
"" coords=
"279,107,463,133"><area shape=
"rect" href=
"classBarry_1_1DBData.html#2a0106c7330842c455fc5393a3abfbc7" title=
"Barry::DBData::GetUniqueId" alt=
"" coords=
"279,157,463,184"></map>
539 <div class=
"dynheader">
540 Here is the caller graph for this function:
</div>
541 <div class=
"dynsection">
542 <p><center><img src=
"classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph_map" alt=
""></center>
543 <map name=
"classBarry_1_1DBPacket_26c4025403d129f658c1919190c0a0f0_icgraph_map">
544 <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>
549 <a class=
"anchor" name=
"0efa0a4b999ca8fab4a628796181205a"></a><!-- doxytag: member="Barry::DBPacket::DBOperation" ref="0efa0a4b999ca8fab4a628796181205a" args="() const " -->
550 <div class=
"memitem">
551 <div class=
"memproto">
552 <table class=
"memname">
554 <td class=
"memname">unsigned int Barry::DBPacket::DBOperation
</td>
556 <td class=
"paramname"> </td>
557 <td> )
</td>
565 Returns the database operation code from the receive packet, assuming that receive contains a response packet.
567 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>.
568 <p>Definition at line
<a class=
"el" href=
"packet_8cc-source.html#l00475">475</a> of file
<a class=
"el" href=
"packet_8cc-source.html">packet.cc
</a>.
</p>
572 <a class=
"anchor" name=
"fd64b6c98e7ad1d482a8339e0283ff90"></a><!-- doxytag: member="Barry::DBPacket::Parse" ref="fd64b6c98e7ad1d482a8339e0283ff90" args="(Parser &parser, const std::string &dbname, const IConverter *ic)" -->
573 <div class=
"memitem">
574 <div class=
"memproto">
575 <table class=
"memname">
577 <td class=
"memname">bool Barry::DBPacket::Parse
</td>
579 <td class=
"paramtype"><a class=
"el" href=
"classBarry_1_1Parser.html">Parser
</a> & </td>
580 <td class=
"paramname"> <em>parser
</em>,
</td>
583 <td class=
"paramkey"></td>
585 <td class=
"paramtype">const std::string
& </td>
586 <td class=
"paramname"> <em>dbname
</em>,
</td>
589 <td class=
"paramkey"></td>
591 <td class=
"paramtype">const
<a class=
"el" href=
"classBarry_1_1IConverter.html">IConverter
</a> *
</td>
592 <td class=
"paramname"> <em>ic
</em></td><td> </td>
597 <td></td><td></td><td></td>
604 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.
606 <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>
608 <p>Definition at line
<a class=
"el" href=
"packet_8cc-source.html#l00492">492</a> of file
<a class=
"el" href=
"packet_8cc-source.html">packet.cc
</a>.
</p>
610 <p>References
<a class=
"el" href=
"classBarry_1_1Parser.html#1d8325c74140cda51c5735c6f82b7511">Barry::Parser::ParseRecord()
</a>.
</p>
612 <p>Referenced by
<a class=
"el" href=
"m__desktop_8cc-source.html#l00247">Barry::Mode::Desktop::GetRecord()
</a>.
</p>
615 <div class=
"dynheader">
616 Here is the call graph for this function:
</div>
617 <div class=
"dynsection">
618 <p><center><img src=
"classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_cgraph_map" alt=
""></center>
619 <map name=
"classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_cgraph_map">
620 <area shape=
"rect" href=
"classBarry_1_1Parser.html#1d8325c74140cda51c5735c6f82b7511" title=
"Called to parse sub fields in the raw data packet." alt=
"" coords=
"216,5,397,32"></map>
624 <div class=
"dynheader">
625 Here is the caller graph for this function:
</div>
626 <div class=
"dynsection">
627 <p><center><img src=
"classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_icgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_icgraph_map" alt=
""></center>
628 <map name=
"classBarry_1_1DBPacket_fd64b6c98e7ad1d482a8339e0283ff90_icgraph_map">
629 <area shape=
"rect" href=
"classBarry_1_1Mode_1_1Desktop.html#2420208d094c0195dd41b5836f54dc10" title=
"Retrieves a specific record from the specified database." alt=
"" coords=
"216,5,435,32"></map>
634 <a class=
"anchor" name=
"1bea52fca1a38648a956508df57248cd"></a><!-- doxytag: member="Barry::DBPacket::ParseMeta" ref="1bea52fca1a38648a956508df57248cd" args="(DBData &data)" -->
635 <div class=
"memitem">
636 <div class=
"memproto">
637 <table class=
"memname">
639 <td class=
"memname">bool Barry::DBPacket::ParseMeta
</td>
641 <td class=
"paramtype"><a class=
"el" href=
"classBarry_1_1DBData.html">DBData
</a> & </td>
642 <td class=
"paramname"> <em>data
</em> </td>
643 <td> )
</td>
651 Fills DBData's meta data based on its data block, and the last dbop.
654 <p>Definition at line
<a class=
"el" href=
"packet_8cc-source.html#l00526">526</a> of file
<a class=
"el" href=
"packet_8cc-source.html">packet.cc
</a>.
</p>
656 <p>References
<a class=
"el" href=
"data_8h-source.html#l00208">Barry::DBData::GetData()
</a>,
<a class=
"el" href=
"data_8h-source.html#l00222">Barry::DBData::SetIds()
</a>,
<a class=
"el" href=
"data_8h-source.html#l00228">Barry::DBData::SetOffset()
</a>, and
<a class=
"el" href=
"data_8h-source.html#l00212">Barry::DBData::SetVersion()
</a>.
</p>
659 <div class=
"dynheader">
660 Here is the call graph for this function:
</div>
661 <div class=
"dynsection">
662 <p><center><img src=
"classBarry_1_1DBPacket_1bea52fca1a38648a956508df57248cd_cgraph.png" border=
"0" usemap=
"#classBarry_1_1DBPacket_1bea52fca1a38648a956508df57248cd_cgraph_map" alt=
""></center>
663 <map name=
"classBarry_1_1DBPacket_1bea52fca1a38648a956508df57248cd_cgraph_map">
664 <area shape=
"rect" href=
"classBarry_1_1DBData.html#a7cacc9655376447ffbf3aa4d664a03b" title=
"Barry::DBData::GetData" alt=
"" coords=
"253,5,413,32"><area shape=
"rect" href=
"classBarry_1_1DBData.html#a46147fced1b122cb6a0e6d1cee3cb07" title=
"Barry::DBData::SetIds" alt=
"" coords=
"257,56,409,83"><area shape=
"rect" href=
"classBarry_1_1DBData.html#cb569139ee2d44442d4709ccf2a4ab3c" title=
"Barry::DBData::SetOffset" alt=
"" coords=
"249,107,417,133"><area shape=
"rect" href=
"classBarry_1_1DBData.html#d1a3e69cabea68e0a309459cd7c58e78" title=
"Barry::DBData::SetVersion" alt=
"" coords=
"245,157,421,184"></map>
669 <hr>The documentation for this class was generated from the following files:
<ul>
670 <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>
672 <hr size=
"1"><address style=
"text-align: right;"><small>Generated on Thu Feb
10 16:
14:
41 2011 for Barry by
673 <a href=
"http://www.doxygen.org/index.html">
674 <img src=
"doxygen.png" alt=
"doxygen" align=
"middle" border=
"0"></a> 1.5.6 </small></address>