<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Proton DotNet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html">Codec</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders.html">Decoders</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.html">ProtonDecoderState</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.png" usemap="#Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState_map" alt=""/>
  <map id="Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState_map" name="Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html" title="Defines a state object that is used with the AMQP Decoder type to hold intermediate state and provide..." alt="Apache.Qpid.Proton.Codec.IDecoderState" shape="rect" coords="0,0,346,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad44bbd25435a1c866751bcda168e083d"><td class="memItemLeft" align="right" valign="top"><a id="ad44bbd25435a1c866751bcda168e083d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ProtonDecoderState</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html">ProtonDecoder</a> decoder)</td></tr>
<tr class="separator:ad44bbd25435a1c866751bcda168e083d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0d78fe7b14ec1597d992ae368484c49"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.html#aa0d78fe7b14ec1597d992ae368484c49">Reset</a> ()</td></tr>
<tr class="memdesc:aa0d78fe7b14ec1597d992ae368484c49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the decoder after a complete decode operation freeing any held resources and preparing for a new decode operation.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.html#aa0d78fe7b14ec1597d992ae368484c49">More...</a><br /></td></tr>
<tr class="separator:aa0d78fe7b14ec1597d992ae368484c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac7b6f56d59a7c88cbaadcf8ac7a6fe0"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.html#aac7b6f56d59a7c88cbaadcf8ac7a6fe0">DecodeUtf8</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, int length)</td></tr>
<tr class="memdesc:aac7b6f56d59a7c88cbaadcf8ac7a6fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes an encoded UTF-8 string value from the given buffer. The number of bytes that comprise the encoding is provided by the caller, the decoder should not read more than that number of bytes from the provided buffer.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.html#aac7b6f56d59a7c88cbaadcf8ac7a6fe0">More...</a><br /></td></tr>
<tr class="separator:aac7b6f56d59a7c88cbaadcf8ac7a6fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:af825c598bdcde40550895b8aa654afa7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IUtf8Decoder.html">IUtf8Decoder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.html#af825c598bdcde40550895b8aa654afa7">Utf8Decoder</a><code> [get, set]</code></td></tr>
<tr class="memdesc:af825c598bdcde40550895b8aa654afa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a custom UTF-8 string decoder that will be used for all string decoding done from the decoder associated with this decoder state instance. If no decoder is registered then the implementation uses its own decoding algorithm.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoderState.html#af825c598bdcde40550895b8aa654afa7">More...</a><br /></td></tr>
<tr class="separator:af825c598bdcde40550895b8aa654afa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a744d4d661aefcdf7e9d6f7d154a52f99"><td class="memItemLeft" align="right" valign="top"><a id="a744d4d661aefcdf7e9d6f7d154a52f99"></a>
<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html">IDecoder</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Decoder</b><code> [get]</code></td></tr>
<tr class="separator:a744d4d661aefcdf7e9d6f7d154a52f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">Apache.Qpid.Proton.Codec.IDecoderState</a></td></tr>
<tr class="memitem:a29684003dd9ff7209c0fc8848bc9973e inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html">IDecoder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html#a29684003dd9ff7209c0fc8848bc9973e">Decoder</a><code> [get]</code></td></tr>
<tr class="memdesc:a29684003dd9ff7209c0fc8848bc9973e inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html" title="Defines a Decoder that handles translating the encoded AMQP performative bytes into the appropriate P...">IDecoder</a> instance that was used when creating this decoder state object.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html#a29684003dd9ff7209c0fc8848bc9973e">More...</a><br /></td></tr>
<tr class="separator:a29684003dd9ff7209c0fc8848bc9973e inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aac7b6f56d59a7c88cbaadcf8ac7a6fe0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac7b6f56d59a7c88cbaadcf8ac7a6fe0">&#9670;&nbsp;</a></span>DecodeUtf8()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">string Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState.DecodeUtf8 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Decodes an encoded UTF-8 string value from the given buffer. The number of bytes that comprise the encoding is provided by the caller, the decoder should not read more than that number of bytes from the provided buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer where the bytes are to be read from.</td></tr>
    <tr><td class="paramname">length</td><td>The encoded size of the UTF-8 string.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string value decoded from the UTF-8 bytes</dd></dl>

<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html#ad0c7fa691eea11b28a51e7fa2c0cfed8">Apache.Qpid.Proton.Codec.IDecoderState</a>.</p>

</div>
</div>
<a id="aa0d78fe7b14ec1597d992ae368484c49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0d78fe7b14ec1597d992ae368484c49">&#9670;&nbsp;</a></span>Reset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState.Reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Resets the decoder after a complete decode operation freeing any held resources and preparing for a new decode operation. </p>

<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html#ae60777d863c1849735e3c45635eac4b6">Apache.Qpid.Proton.Codec.IDecoderState</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="af825c598bdcde40550895b8aa654afa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af825c598bdcde40550895b8aa654afa7">&#9670;&nbsp;</a></span>Utf8Decoder</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IUtf8Decoder.html">IUtf8Decoder</a> Apache.Qpid.Proton.Codec.Decoders.ProtonDecoderState.Utf8Decoder</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets a custom UTF-8 string decoder that will be used for all string decoding done from the decoder associated with this decoder state instance. If no decoder is registered then the implementation uses its own decoding algorithm. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Codec/Decoders/ProtonDecoderState.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
