485 lines
25 KiB
HTML
485 lines
25 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
|
|
<title>PdmlProtocol Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div! -->
|
|
|
|
|
|
<!-- Generated by Doxygen 1.7.5.1 -->
|
|
</div>
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
<a href="#pro-attribs">Protected Attributes</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">PdmlProtocol Class Reference</div> </div>
|
|
</div>
|
|
<div class="contents">
|
|
<!-- doxytag: class="PdmlProtocol" -->
|
|
<p><a class="el" href="class_pdml_protocol.html" title="PdmlProtocol is the base class which provides the interface for all PDML decode helper protocols...">PdmlProtocol</a> is the base class which provides the interface for all PDML decode helper protocols.
|
|
<a href="class_pdml_protocol.html#details">More...</a></p>
|
|
|
|
<p><a href="class_pdml_protocol-members.html">List of all members.</a></p>
|
|
<table class="memberdecls">
|
|
<tr><td colspan="2"><h2><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#ae4b3443fea68ea738f27f124803bbb5d">~PdmlProtocol</a> ()</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys the <a class="el" href="class_pdml_protocol.html" title="PdmlProtocol is the base class which provides the interface for all PDML decode helper protocols...">PdmlProtocol</a>. <a href="#ae4b3443fea68ea738f27f124803bbb5d"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#aef66d163a7f2a541c1d4dc273354ca29">ostProtoId</a> () const </td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the protocol's field number as defined in message 'Protocol', enum 'k' (<a href="file:">file:</a> protocol.proto) <a href="#aef66d163a7f2a541c1d4dc273354ca29"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a0c82b3d98442e19852d3b3738c023aec">hasField</a> (QString name) const </td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if name is a 'known' field that can be directly mapped to the protobuf field. <a href="#a0c82b3d98442e19852d3b3738c023aec"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a29fd0e4f5e2e12a7a84948d6f86dbf7a">fieldId</a> (QString name) const </td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the protocol's protobuf field number corresponding to name. <a href="#a29fd0e4f5e2e12a7a84948d6f86dbf7a"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#ae6996ae7dc9e81b096ad53046b757d02">preProtocolHandler</a> (QString name, const QXmlStreamAttributes &attributes, int expectedPos, OstProto::Protocol *pbProto, OstProto::Stream *stream)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">This method is called by PdmlReader before any fields within the protocol are processed. <a href="#ae6996ae7dc9e81b096ad53046b757d02"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a996a0f5f40076b87435cdb3b306e9148">prematureEndHandler</a> (int pos, OstProto::Protocol *pbProto, OstProto::Stream *stream)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">This method is called by PdmlReader when it encounters a nested protocol in the PDML i.e. <a href="#a996a0f5f40076b87435cdb3b306e9148"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a0f6f93c259def7ad5f59958d3b077d5c">postProtocolHandler</a> (OstProto::Protocol *pbProto, OstProto::Stream *stream)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">This method is called by PdmlReader after all fields within the protocol are processed. <a href="#a0f6f93c259def7ad5f59958d3b077d5c"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a921264e3c5f916db2533d4c2bc5141c6">fieldHandler</a> (QString name, const QXmlStreamAttributes &attributes, OstProto::Protocol *pbProto, OstProto::Stream *stream)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">This method is called by PdmlReader for each field in the protocol. <a href="#a921264e3c5f916db2533d4c2bc5141c6"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a2d7462a9b7c8ff58c1277902d0bee9e3">knownFieldHandler</a> (QString name, QString valueHexStr, OstProto::Protocol *pbProto)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Handles a 'known' field. <a href="#a2d7462a9b7c8ff58c1277902d0bee9e3"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#aa4e42812f7259649cce1663f6ffed034">unknownFieldHandler</a> (QString name, int pos, int size, const QXmlStreamAttributes &attributes, OstProto::Protocol *pbProto, OstProto::Stream *stream)</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Handles a 'unknown' field. <a href="#aa4e42812f7259649cce1663f6ffed034"></a><br/></td></tr>
|
|
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_pdml_protocol.html">PdmlProtocol</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#adf3f80063f50998797c2cfa6a9d3edc9">createInstance</a> ()</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocates and returns a new instance of the class. <a href="#adf3f80063f50998797c2cfa6a9d3edc9"></a><br/></td></tr>
|
|
<tr><td colspan="2"><h2><a name="pro-methods"></a>
|
|
Protected Member Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a60b82661c6b59a052c320a13cae6462a">PdmlProtocol</a> ()</td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Protocol's field number as defined in message 'Protocol', enum 'k'. <a href="#a60b82661c6b59a052c320a13cae6462a"></a><br/></td></tr>
|
|
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
|
|
Protected Attributes</h2></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_pdml_protocol.html#a4b58c8f079f60986126d084fb9167dd8">ostProtoId_</a></td></tr>
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Map of PDML field names to protobuf field numbers for 'known' fields. <a href="#a4b58c8f079f60986126d084fb9167dd8"></a><br/></td></tr>
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60335e08d777de3ece01a992140503be"></a><!-- doxytag: member="PdmlProtocol::fieldMap_" ref="a60335e08d777de3ece01a992140503be" args="" -->
|
|
QMap< QString, int > </td><td class="memItemRight" valign="bottom"><b>fieldMap_</b></td></tr>
|
|
</table>
|
|
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
|
|
<div class="textblock"><p><a class="el" href="class_pdml_protocol.html" title="PdmlProtocol is the base class which provides the interface for all PDML decode helper protocols...">PdmlProtocol</a> is the base class which provides the interface for all PDML decode helper protocols. </p>
|
|
<p>All Pdml helper classes derived from <a class="el" href="class_pdml_protocol.html" title="PdmlProtocol is the base class which provides the interface for all PDML decode helper protocols...">PdmlProtocol</a> MUST register themselves with PdmlReader. When PdmlReader encounters a 'proto' tag in the PDML during parsing, it instantiates the corresponding helper <a class="el" href="class_pdml_protocol.html" title="PdmlProtocol is the base class which provides the interface for all PDML decode helper protocols...">PdmlProtocol</a> class and calls its methods to decode the protocol.</p>
|
|
<p>A subclass MUST initialize the following inherited protected variables in its constructor -</p>
|
|
<ul>
|
|
<li>ostProtoId_</li>
|
|
<li>fieldMap_</li>
|
|
</ul>
|
|
<p>A subclass typically needs to reimplement the following methods -</p>
|
|
<ul>
|
|
<li><a class="el" href="class_pdml_protocol.html#adf3f80063f50998797c2cfa6a9d3edc9" title="Allocates and returns a new instance of the class.">createInstance()</a></li>
|
|
</ul>
|
|
<p>Depending on certain conditions, subclasses may need to reimplement the following additional methods -</p>
|
|
<ul>
|
|
<li><a class="el" href="class_pdml_protocol.html#aa4e42812f7259649cce1663f6ffed034" title="Handles a 'unknown' field.">unknownFieldHandler()</a></li>
|
|
<li><a class="el" href="class_pdml_protocol.html#ae6996ae7dc9e81b096ad53046b757d02" title="This method is called by PdmlReader before any fields within the protocol are processed.">preProtocolHandler()</a></li>
|
|
<li><a class="el" href="class_pdml_protocol.html#a0f6f93c259def7ad5f59958d3b077d5c" title="This method is called by PdmlReader after all fields within the protocol are processed.">postProtocolHandler()</a></li>
|
|
</ul>
|
|
<p>See the description of the methods for more information.</p>
|
|
<p>Use the SamplePdmlProtocol implementation as boilerplate code and for guidelines and tips </p>
|
|
</div><hr/><h2>Constructor & Destructor Documentation</h2>
|
|
<a class="anchor" id="ae4b3443fea68ea738f27f124803bbb5d"></a><!-- doxytag: member="PdmlProtocol::~PdmlProtocol" ref="ae4b3443fea68ea738f27f124803bbb5d" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">PdmlProtocol::~PdmlProtocol </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td><code> [virtual]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Destroys the <a class="el" href="class_pdml_protocol.html" title="PdmlProtocol is the base class which provides the interface for all PDML decode helper protocols...">PdmlProtocol</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a60b82661c6b59a052c320a13cae6462a"></a><!-- doxytag: member="PdmlProtocol::PdmlProtocol" ref="a60b82661c6b59a052c320a13cae6462a" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">PdmlProtocol::PdmlProtocol </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td><code> [protected]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Protocol's field number as defined in message 'Protocol', enum 'k'. </p>
|
|
<p>Constructs the <a class="el" href="class_pdml_protocol.html" title="PdmlProtocol is the base class which provides the interface for all PDML decode helper protocols...">PdmlProtocol</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/><h2>Member Function Documentation</h2>
|
|
<a class="anchor" id="adf3f80063f50998797c2cfa6a9d3edc9"></a><!-- doxytag: member="PdmlProtocol::createInstance" ref="adf3f80063f50998797c2cfa6a9d3edc9" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="class_pdml_protocol.html">PdmlProtocol</a> * PdmlProtocol::createInstance </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td><code> [static]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Allocates and returns a new instance of the class. </p>
|
|
<p>Caller is responsible for freeing up after use. Subclasses MUST implement this function and register it with PdmlReader </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a921264e3c5f916db2533d4c2bc5141c6"></a><!-- doxytag: member="PdmlProtocol::fieldHandler" ref="a921264e3c5f916db2533d4c2bc5141c6" args="(QString name, const QXmlStreamAttributes &attributes, OstProto::Protocol *pbProto, OstProto::Stream *stream)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PdmlProtocol::fieldHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">QString </td>
|
|
<td class="paramname"><em>name</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const QXmlStreamAttributes & </td>
|
|
<td class="paramname"><em>attributes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Protocol * </td>
|
|
<td class="paramname"><em>pbProto</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Stream * </td>
|
|
<td class="paramname"><em>stream</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>This method is called by PdmlReader for each field in the protocol. </p>
|
|
<p>Depending on whether it is a known or unknown field, the virtual methods <a class="el" href="class_pdml_protocol.html#a2d7462a9b7c8ff58c1277902d0bee9e3" title="Handles a 'known' field.">knownFieldHandler()</a> and <a class="el" href="class_pdml_protocol.html#aa4e42812f7259649cce1663f6ffed034" title="Handles a 'unknown' field.">unknownFieldHandler()</a> are invoked </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a29fd0e4f5e2e12a7a84948d6f86dbf7a"></a><!-- doxytag: member="PdmlProtocol::fieldId" ref="a29fd0e4f5e2e12a7a84948d6f86dbf7a" args="(QString name) const " -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int PdmlProtocol::fieldId </td>
|
|
<td>(</td>
|
|
<td class="paramtype">QString </td>
|
|
<td class="paramname"><em>name</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Returns the protocol's protobuf field number corresponding to name. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0c82b3d98442e19852d3b3738c023aec"></a><!-- doxytag: member="PdmlProtocol::hasField" ref="a0c82b3d98442e19852d3b3738c023aec" args="(QString name) const " -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool PdmlProtocol::hasField </td>
|
|
<td>(</td>
|
|
<td class="paramtype">QString </td>
|
|
<td class="paramname"><em>name</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Returns true if name is a 'known' field that can be directly mapped to the protobuf field. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2d7462a9b7c8ff58c1277902d0bee9e3"></a><!-- doxytag: member="PdmlProtocol::knownFieldHandler" ref="a2d7462a9b7c8ff58c1277902d0bee9e3" args="(QString name, QString valueHexStr, OstProto::Protocol *pbProto)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PdmlProtocol::knownFieldHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">QString </td>
|
|
<td class="paramname"><em>name</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">QString </td>
|
|
<td class="paramname"><em>valueHexStr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Protocol * </td>
|
|
<td class="paramname"><em>pbProto</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Handles a 'known' field. </p>
|
|
<p>Uses protobuf reflection interface to set the protobuf field name to valueHexStr as per the field's datatype </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aef66d163a7f2a541c1d4dc273354ca29"></a><!-- doxytag: member="PdmlProtocol::ostProtoId" ref="aef66d163a7f2a541c1d4dc273354ca29" args="() const " -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int PdmlProtocol::ostProtoId </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Returns the protocol's field number as defined in message 'Protocol', enum 'k' (<a href="file:">file:</a> protocol.proto) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0f6f93c259def7ad5f59958d3b077d5c"></a><!-- doxytag: member="PdmlProtocol::postProtocolHandler" ref="a0f6f93c259def7ad5f59958d3b077d5c" args="(OstProto::Protocol *pbProto, OstProto::Stream *stream)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PdmlProtocol::postProtocolHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">OstProto::Protocol * </td>
|
|
<td class="paramname"><em>pbProto</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Stream * </td>
|
|
<td class="paramname"><em>stream</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td><code> [virtual]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>This method is called by PdmlReader after all fields within the protocol are processed. </p>
|
|
<p>Use this method to do any special handling that may be required for postprocessing </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a996a0f5f40076b87435cdb3b306e9148"></a><!-- doxytag: member="PdmlProtocol::prematureEndHandler" ref="a996a0f5f40076b87435cdb3b306e9148" args="(int pos, OstProto::Protocol *pbProto, OstProto::Stream *stream)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PdmlProtocol::prematureEndHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>pos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Protocol * </td>
|
|
<td class="paramname"><em>pbProto</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Stream * </td>
|
|
<td class="paramname"><em>stream</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td><code> [virtual]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>This method is called by PdmlReader when it encounters a nested protocol in the PDML i.e. </p>
|
|
<p>a protocol within a protocol or a protocol within a field</p>
|
|
<p>This is a notification to the protocol that protocol processing will be ending prematurely. <a class="el" href="class_pdml_protocol.html#a0f6f93c259def7ad5f59958d3b077d5c" title="This method is called by PdmlReader after all fields within the protocol are processed.">postProtocolHandler()</a> will still be called in such cases. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae6996ae7dc9e81b096ad53046b757d02"></a><!-- doxytag: member="PdmlProtocol::preProtocolHandler" ref="ae6996ae7dc9e81b096ad53046b757d02" args="(QString name, const QXmlStreamAttributes &attributes, int expectedPos, OstProto::Protocol *pbProto, OstProto::Stream *stream)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PdmlProtocol::preProtocolHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">QString </td>
|
|
<td class="paramname"><em>name</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const QXmlStreamAttributes & </td>
|
|
<td class="paramname"><em>attributes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>expectedPos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Protocol * </td>
|
|
<td class="paramname"><em>pbProto</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Stream * </td>
|
|
<td class="paramname"><em>stream</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td><code> [virtual]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>This method is called by PdmlReader before any fields within the protocol are processed. </p>
|
|
<p>All attributes associated with the 'proto' tag in the PDML are passed to this method</p>
|
|
<p>Use this method to do any special handling that may be required for preprocessing </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aa4e42812f7259649cce1663f6ffed034"></a><!-- doxytag: member="PdmlProtocol::unknownFieldHandler" ref="aa4e42812f7259649cce1663f6ffed034" args="(QString name, int pos, int size, const QXmlStreamAttributes &attributes, OstProto::Protocol *pbProto, OstProto::Stream *stream)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PdmlProtocol::unknownFieldHandler </td>
|
|
<td>(</td>
|
|
<td class="paramtype">QString </td>
|
|
<td class="paramname"><em>name</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>pos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>size</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const QXmlStreamAttributes & </td>
|
|
<td class="paramname"><em>attributes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Protocol * </td>
|
|
<td class="paramname"><em>pbProto</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">OstProto::Stream * </td>
|
|
<td class="paramname"><em>stream</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td><code> [virtual]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Handles a 'unknown' field. </p>
|
|
<p>The default implementation does nothing. Subclasses may need to implement this if the protocol contains 'unknown' fields. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/><h2>Member Data Documentation</h2>
|
|
<a class="anchor" id="a4b58c8f079f60986126d084fb9167dd8"></a><!-- doxytag: member="PdmlProtocol::ostProtoId_" ref="a4b58c8f079f60986126d084fb9167dd8" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int <a class="el" href="class_pdml_protocol.html#a4b58c8f079f60986126d084fb9167dd8">PdmlProtocol::ostProtoId_</a><code> [protected]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>Map of PDML field names to protobuf field numbers for 'known' fields. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li>common/pdmlprotocol.h</li>
|
|
<li>common/pdmlprotocol.cpp</li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Tue Jun 2 2015 18:40:09 by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.7.5.1
|
|
</small></address>
|
|
|
|
</body>
|
|
</html>
|