<!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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Namespace Members</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.9.1 -->
<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','.html');
/* @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>
</div><!-- top -->
<!-- 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 class="contents">
<div class="textblock">Here is a list of all documented namespace members with links to the namespaces they belong to:</div><ul>
<li>ConnectionState
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#a2457073a27900ebd6cbe83d3e2a01bd3">Apache.Qpid.Proton.Engine</a>
</li>
<li>DeliveryMode
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html#aa324b7f96b19f0e9bf251a72fd68bd0c">Apache.Qpid.Proton.Client</a>
</li>
<li>DeliveryStateType
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html#a4e8185e0e32f8574f07049842421e732">Apache.Qpid.Proton.Client</a>
, <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport.html#a1fcf5f1393d0d60ae24555ddbf104a77">Apache.Qpid.Proton.Types.Transport</a>
</li>
<li>DischargeState
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#ac1eaf861b7aabcd232ea4bec81de4a97">Apache.Qpid.Proton.Engine</a>
</li>
<li>DistributionMode
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html#a09fbfb279bed85249277302174da5734">Apache.Qpid.Proton.Client</a>
</li>
<li>DurabilityMode
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html#abf270817f0631ad896871638bee2b287">Apache.Qpid.Proton.Client</a>
</li>
<li>EncodingCodes
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html#a3c20d2d05f5f52d8828e0d0ef1bea07a">Apache.Qpid.Proton.Codec</a>
</li>
<li>EngineSaslState
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#ae14090a56ba2b8dc9b9bdccb6c5fdfb5">Apache.Qpid.Proton.Engine</a>
</li>
<li>EngineState
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#a7b8a1fec0430a4a0ecf3711bc94e80f6">Apache.Qpid.Proton.Engine</a>
</li>
<li>ExpiryPolicy
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html#a932f30c66b130dc8306611cb01983d8c">Apache.Qpid.Proton.Client</a>
</li>
<li>LinkState
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#acbdc8141247342461fc88ea23eac6ad6">Apache.Qpid.Proton.Engine</a>
</li>
<li>NextReceiverPolicy
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html#a29fcbe719c1b2f22561850a3dc0203ff">Apache.Qpid.Proton.Client</a>
</li>
<li>PerformativeType
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport.html#a1cb9d50f8c1c2a1eb89a750d839929c2">Apache.Qpid.Proton.Types.Transport</a>
</li>
<li>ProtonDeliveryTagTypes
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation.html#afc82d53afdc345616218c0a634dd2dd3">Apache.Qpid.Proton.Engine.Implementation</a>
</li>
<li>ProtonLogLevel
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Logging.html#a10b2f462981a03b2b987a76670b3fe1a">Apache.Qpid.Proton.Logging</a>
</li>
<li>Role
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport.html#a5f514350b2297fec543826213ed83cd4">Apache.Qpid.Proton.Types.Transport</a>
</li>
<li>SaslAuthOutcome
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">Apache.Qpid.Proton.Engine.Sasl</a>
</li>
<li>SaslCode
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Security.html#abc9d6c5f73d5030fcb1e63eb2bd806f5">Apache.Qpid.Proton.Types.Security</a>
</li>
<li>SaslContextRole
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a52f941085984113db91d0318285d9040">Apache.Qpid.Proton.Engine.Sasl</a>
</li>
<li>SaslPerformativeType
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Security.html#aa2e0e8d18ce054d86eac9be7c2162dc0">Apache.Qpid.Proton.Types.Security</a>
</li>
<li>SectionType
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging.html#ad246edebcf0d07d205a1bdc1d72afe7a">Apache.Qpid.Proton.Types.Messaging</a>
</li>
<li>SessionState
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#a4cc1373ad3202432a02c710ae7e6e94b">Apache.Qpid.Proton.Engine</a>
</li>
<li>TransactionState
: <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#a8a2d64e4b04d0220260dc0579c12953c">Apache.Qpid.Proton.Engine</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
