<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Barry: Barry::Parser Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <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="classes.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="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</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>::<a class="el" href="classBarry_1_1Parser.html">Parser</a> </div> </div> <div class="contents"> <h1>Barry::Parser Class Reference</h1><!-- doxytag: class="Barry::Parser" --><code>#include <<a class="el" href="parser_8h-source.html">parser.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for Barry::Parser:</div> <div class="dynsection"> <p><center><img src="classBarry_1_1Parser__inherit__graph.png" border="0" usemap="#Barry_1_1Parser__inherit__map" alt="Inheritance graph"></center> <map name="Barry_1_1Parser__inherit__map"> <area shape="rect" href="classBarry_1_1BoostParser.html" title="This Parser turns incoming records (which can be of any record type included in ALL_KNOWN_PARSER_TYP..." alt="" coords="172,56,303,83"><area shape="rect" href="classBarry_1_1DeviceParser.html" title="A parser class that "parses" raw data into a device." alt="" coords="168,107,307,133"><area shape="rect" href="classBarry_1_1HexDumpParser.html" title="Dumps raw hex of the given DBData to the given stream." alt="" coords="160,157,315,184"><area shape="rect" href="classBarry_1_1MultiRecordParser.html" title="Container parser class that accepts multiple Parser objects (often RecordParser<>..." alt="" coords="153,208,321,235"><area shape="rect" href="classBarry_1_1NullParser.html" title="If in debug mode, this class can be used as a null parser." alt="" coords="177,259,297,285"><area shape="rect" href="classBarry_1_1RecordParserBase.html" title="Abstract base class for the following RecordParser template, that exposes some information..." alt="" coords="153,309,321,336"><area shape="rect" href="classBarry_1_1TeeParser.html" title="Sends incoming DBData objects to all the parsers in its list." alt="" coords="177,360,297,387"><area shape="rect" href="classBarry_1_1AllRecordParser.html" title="Convenience parser that creates a MultiRecordParser with all known record parsers..." alt="" coords="429,208,584,235"><area shape="rect" href="classBarry_1_1RecordParser.html" title="Template class for easy creation of specific parser objects." alt="" coords="371,309,643,336"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classBarry_1_1Parser-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Base class for the parser hierarchy. <p> This class provides the interface that the <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a> class uses to pass raw data it reads from the device. The <a class="el" href="classBarry_1_1Controller.html" title="The main interface class.">Controller</a>, along with the Packet class, calls each of the virtual functions below in the same order.<p> This class is kept as a pure abstract class, in order to make sure that the compiler will catch any API changes, for code derived from it. <p>Definition at line <a class="el" href="parser_8h-source.html#l00093">93</a> of file <a class="el" href="parser_8h-source.html">parser.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Parser.html#1d8325c74140cda51c5735c6f82b7511">ParseRecord</a> (const <a class="el" href="classBarry_1_1DBData.html">DBData</a> &data, const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> *ic)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called to parse sub fields in the raw data packet. <a href="#1d8325c74140cda51c5735c6f82b7511"></a><br></td></tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="1d8325c74140cda51c5735c6f82b7511"></a><!-- doxytag: member="Barry::Parser::ParseRecord" ref="1d8325c74140cda51c5735c6f82b7511" args="(const DBData &data, const IConverter *ic)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void Barry::Parser::ParseRecord </td> <td>(</td> <td class="paramtype">const <a class="el" href="classBarry_1_1DBData.html">DBData</a> & </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classBarry_1_1IConverter.html">IConverter</a> * </td> <td class="paramname"> <em>ic</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Called to parse sub fields in the raw data packet. <p> <p>Implemented in <a class="el" href="classBarry_1_1DeviceParser.html#29558754a66d4f5c43c08af719a902c0">Barry::DeviceParser</a>, <a class="el" href="classBarry_1_1NullParser.html#5e2f6a47214e9162b04c589c7f75b341">Barry::NullParser</a>, <a class="el" href="classBarry_1_1HexDumpParser.html#a91d58d67adb66626eb014e8c574df73">Barry::HexDumpParser</a>, <a class="el" href="classBarry_1_1RecordParser.html#83fe40db19e22eeb7ac94d8385650b75">Barry::RecordParser< RecordT, StorageT ></a>, <a class="el" href="classBarry_1_1MultiRecordParser.html#e749f5c58c6a9b9b86511f84f3a91ee8">Barry::MultiRecordParser</a>, <a class="el" href="classBarry_1_1TeeParser.html#46c0de2c61d5fbb8da1dc0e2ffc9f7e2">Barry::TeeParser</a>, and <a class="el" href="classBarry_1_1BoostParser.html#12411c1c2d45e92e4700a166abb4b87d">Barry::BoostParser</a>.</p> <p>Referenced by <a class="el" href="m__desktop_8cc-source.html#l00389">Barry::Mode::Desktop::LoadDatabase()</a>, <a class="el" href="packet_8cc-source.html#l00492">Barry::DBPacket::Parse()</a>, <a class="el" href="parser_8cc-source.html#l00161">Barry::MultiRecordParser::ParseRecord()</a>, and <a class="el" href="pipe_8cc-source.html#l00035">Barry::Pipe::PumpEntry()</a>.</p> <p> <div class="dynheader"> Here is the caller graph for this function:</div> <div class="dynsection"> <p><center><img src="classBarry_1_1Parser_1d8325c74140cda51c5735c6f82b7511_icgraph.png" border="0" usemap="#classBarry_1_1Parser_1d8325c74140cda51c5735c6f82b7511_icgraph_map" alt=""></center> <map name="classBarry_1_1Parser_1d8325c74140cda51c5735c6f82b7511_icgraph_map"> <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="240,5,480,32"><area shape="rect" href="classBarry_1_1DBPacket.html#fd64b6c98e7ad1d482a8339e0283ff90" title="Parses the data in the receive buffer, and attempts to be smart about it, using the..." alt="" coords="280,56,440,83"><area shape="rect" href="classBarry_1_1MultiRecordParser.html#e749f5c58c6a9b9b86511f84f3a91ee8" title="Called to parse sub fields in the raw data packet." alt="" coords="235,107,485,133"><area shape="rect" href="classBarry_1_1Pipe.html#c37ea1a469fdc249eba6fb65e421cf34" title="Reads one item from the builder and feeds it into the parser and returns the builder..." alt="" coords="280,157,440,184"><area shape="rect" href="classBarry_1_1Mode_1_1Desktop.html#2420208d094c0195dd41b5836f54dc10" title="Retrieves a specific record from the specified database." alt="" coords="533,56,752,83"><area shape="rect" href="classBarry_1_1Pipe.html#6ac2aa700bf3aa575dec422b45d1b40f" title="Reads all items from builder, feeding them into the parser, until the builder's..." alt="" coords="560,157,725,184"><area shape="rect" href="classBarry_1_1Pipe.html#0978edd4b1a8a0dcab3b6dd49b5a71ba" title="Reads all series from the builder, feeding them into the parser, until the builder's..." alt="" coords="800,157,949,184"></map> </div> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="parser_8h-source.html">parser.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 1 17:51:01 2011 for Barry by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>