<!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: parser.h File 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><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="dir_3e14c0bb4416cf979afc3165665fc916.html">src</a> </div> </div> <div class="contents"> <h1>parser.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> Virtual parser wrapper. <p> <p>Definition in file <a class="el" href="parser_8h-source.html">parser.h</a>.</p> <p> <code>#include "<a class="el" href="dll_8h-source.html">dll.h</a>"</code><br> <code>#include "<a class="el" href="data_8h-source.html">data.h</a>"</code><br> <code>#include "<a class="el" href="protocol_8h-source.html">protocol.h</a>"</code><br> <code>#include <stdint.h></code><br> <code>#include <iosfwd></code><br> <code>#include <map></code><br> <p> <div class="dynheader"> Include dependency graph for parser.h:</div> <div class="dynsection"> <p><center><img src="parser_8h__incl.png" border="0" usemap="#parser.h_map" alt=""></center> <map name="parser.h_map"> <area shape="rect" href="dll_8h.html" title="Macros for handling DLL/library API visibility." alt="" coords="5,155,51,181"><area shape="rect" href="data_8h.html" title="Class to deal with pre-saved data files." alt="" coords="152,80,208,107"><area shape="rect" href="protocol_8h.html" title="USB Blackberry bulk protocol API constants." alt="" coords="283,80,360,107"></map> </div> <p> <div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dynsection"> <p><center><img src="parser_8h__dep__incl.png" border="0" usemap="#parser.hdep_map" alt=""></center> <map name="parser.hdep_map"> <area shape="rect" href="backup_8h.html" title="Special parser class to support creation of Barry Backup files." alt="" coords="124,80,199,107"><area shape="rect" href="barry_8h.html" title="Main header file for applications." alt="" coords="516,229,575,256"><area shape="rect" href="m__desktop_8h.html" title="Mode class for the Desktop mode." alt="" coords="567,80,663,107"><area shape="rect" href="m__desktoptmpl_8h.html" title="Ease of use templates for the Desktop mode class." alt="" coords="827,155,947,181"><area shape="rect" href="m__desktop_8cc.html" title="Mode class for the Desktop mode." alt="" coords="427,155,531,181"><area shape="rect" href="packet_8cc.html" title="Low level protocol packet builder class." alt="" coords="555,155,632,181"><area shape="rect" href="pipe_8h.html" title="Connector class to join parsers and builders together." alt="" coords="343,80,399,107"><area shape="rect" href="parser_8cc.html" title="Virtual parser wrapper." alt="" coords="737,80,812,107"><area shape="rect" href="backup_8cc.html" title="Special parser class to support creation of Barry Backup files." alt="" coords="5,155,85,181"><area shape="rect" href="barrybackup_8h.html" title="Main header file for libbarrybackup." alt="" coords="109,155,213,181"><area shape="rect" href="connector_8cc-source.html" title="connector.cc" alt="" coords="656,155,752,181"><area shape="rect" href="pipe_8cc.html" title="Connector class to join parsers and builders together." alt="" coords="339,155,403,181"></map> </div> <p> <a href="parser_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceBarry.html">Barry</a></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1Parser.html">Barry::Parser</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for the parser hierarchy. <a href="classBarry_1_1Parser.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1NullParser.html">Barry::NullParser</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">If in debug mode, this class can be used as a null parser. <a href="classBarry_1_1NullParser.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1HexDumpParser.html">Barry::HexDumpParser</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Dumps raw hex of the given <a class="el" href="classBarry_1_1DBData.html" title="Database record data class.">DBData</a> to the given stream. <a href="classBarry_1_1HexDumpParser.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1RecordParserBase.html">Barry::RecordParserBase</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Abstract base class for the following <a class="el" href="classBarry_1_1RecordParser.html" title="Template class for easy creation of specific parser objects.">RecordParser</a> template, that exposes some information on the specifics that the record parser can handle. <a href="classBarry_1_1RecordParserBase.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1NullStore.html">Barry::NullStore< RecordT ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A Storage class for RecordParser<> that does nothing, for the cases where you only want to dump parsed record data to a stream. <a href="classBarry_1_1NullStore.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1DumpStore.html">Barry::DumpStore< RecordT ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A Storage class for RecordParser<> that dumps the parsed record data to the given stream. <a href="classBarry_1_1DumpStore.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1RecordParser.html">Barry::RecordParser< RecordT, StorageT ></a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Template class for easy creation of specific parser objects. <a href="classBarry_1_1RecordParser.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1AllRecordStore.html">Barry::AllRecordStore</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Base class with overloaded functor behaviour for all available record classes. <a href="classBarry_1_1AllRecordStore.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1MultiRecordParser.html">Barry::MultiRecordParser</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Container parser class that accepts multiple <a class="el" href="classBarry_1_1Parser.html" title="Base class for the parser hierarchy.">Parser</a> objects (often RecordParser<> objects but they don't have to be) and automatically routes incoming records to the appropriate parser. <a href="classBarry_1_1MultiRecordParser.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1AllRecordDumpStore.html">Barry::AllRecordDumpStore</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Derived from <a class="el" href="classBarry_1_1AllRecordStore.html" title="Base class with overloaded functor behaviour for all available record classes.">AllRecordStore</a>, which just calls each record's Dump() member with the given stream. <a href="classBarry_1_1AllRecordDumpStore.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1AllRecordParser.html">Barry::AllRecordParser</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience parser that creates a <a class="el" href="classBarry_1_1MultiRecordParser.html" title="Container parser class that accepts multiple Parser objects (often RecordParser<>...">MultiRecordParser</a> with all known record parsers added. <a href="classBarry_1_1AllRecordParser.html#_details">More...</a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classBarry_1_1TeeParser.html">Barry::TeeParser</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sends incoming <a class="el" href="classBarry_1_1DBData.html" title="Database record data class.">DBData</a> objects to all the parsers in its list. <a href="classBarry_1_1TeeParser.html#_details">More...</a><br></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memTemplParams" nowrap colspan="2">template<class RecordT> </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceBarry.html#d9b9de17676484b0a956a2944602f84c">Barry::ParseDBData</a> (const DBData &data, RecordT &rec, const IConverter *ic)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Contains the proper way to convert a <a class="el" href="classBarry_1_1DBData.html" title="Database record data class.">DBData</a> object into a record. <a href="#d9b9de17676484b0a956a2944602f84c"></a><br></td></tr> </table> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 1 17:50:33 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>