<!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: Apache.Qpid.Proton.Engine.IEngineSaslDriver Interface 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.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>
<!-- 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_1Engine.html">Engine</a></li><li class="navelem"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</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="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Engine.IEngineSaslDriver Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Engine.IEngineSaslDriver:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.png" usemap="#Apache.Qpid.Proton.Engine.IEngineSaslDriver_map" alt=""/>
  <map id="Apache.Qpid.Proton.Engine.IEngineSaslDriver_map" name="Apache.Qpid.Proton.Engine.IEngineSaslDriver_map">
<area href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngineNoOpSaslDriver.html" title="A Default No-Op SASL context that is used to provide the engine with a stub when no SASL is configure..." alt="Apache.Qpid.Proton.Engine.Implementation.ProtonEngineNoOpSaslDriver" shape="rect" coords="0,56,430,80"/>
<area href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonEngineSaslDriver.html" title="Engine SASL Driver implementation which handles the configuration and initial engine setup which prov..." alt="Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonEngineSaslDriver" shape="rect" coords="440,56,870,80"/>
  </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:a6c7afee3d21406730e609600fcccb092"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a6c7afee3d21406730e609600fcccb092">Client</a> ()</td></tr>
<tr class="memdesc:a6c7afee3d21406730e609600fcccb092"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure this <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a> to operate in client mode and return the associated ISaslClientContext instance that should be used to complete the SASL negotiation with the server end.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a6c7afee3d21406730e609600fcccb092">More...</a><br /></td></tr>
<tr class="separator:a6c7afee3d21406730e609600fcccb092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e752d7e26cd3f20f1d693c2d975cfbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a8e752d7e26cd3f20f1d693c2d975cfbf">Server</a> ()</td></tr>
<tr class="memdesc:a8e752d7e26cd3f20f1d693c2d975cfbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure this <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a> to operate in server mode and return the associated ISaslServerContext instance that should be used to complete the SASL negotiation with the client end.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a8e752d7e26cd3f20f1d693c2d975cfbf">More...</a><br /></td></tr>
<tr class="separator:a8e752d7e26cd3f20f1d693c2d975cfbf"><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:a2b9a309a9e341c5a92824134232a329b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#ae14090a56ba2b8dc9b9bdccb6c5fdfb5">EngineSaslState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a2b9a309a9e341c5a92824134232a329b">SaslState</a><code> [get]</code></td></tr>
<tr class="memdesc:a2b9a309a9e341c5a92824134232a329b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a SaslState that indicates the current operating state of the SASL negotiation process or conversely if no SASL layer is configured this method should return the disabled state. This method must never return a null result.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a2b9a309a9e341c5a92824134232a329b">More...</a><br /></td></tr>
<tr class="separator:a2b9a309a9e341c5a92824134232a329b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba9af4ad7cdc0bac5efcc09332d05d7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a>?&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#aba9af4ad7cdc0bac5efcc09332d05d7f">SaslOutcome</a><code> [get]</code></td></tr>
<tr class="memdesc:aba9af4ad7cdc0bac5efcc09332d05d7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a low level outcome value for the SASL authentication process. If the SASL exchange is ongoing or the SASL layer was skipped because a particular engine configuration allows such behavior then this method should return null to indicate no SASL outcome is available.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#aba9af4ad7cdc0bac5efcc09332d05d7f">More...</a><br /></td></tr>
<tr class="separator:aba9af4ad7cdc0bac5efcc09332d05d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6989534b575dd7dce54b0c804978b94e"><td class="memItemLeft" align="right" valign="top">uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a6989534b575dd7dce54b0c804978b94e">MaxFrameSize</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a6989534b575dd7dce54b0c804978b94e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the SASL drivers configured max frame size value, the max frame size can be updated before the engine has been started but is locked for updates following an engine start.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a6989534b575dd7dce54b0c804978b94e">More...</a><br /></td></tr>
<tr class="separator:a6989534b575dd7dce54b0c804978b94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6c7afee3d21406730e609600fcccb092"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c7afee3d21406730e609600fcccb092">&#9670;&nbsp;</a></span>Client()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslClientContext.html">ISaslClientContext</a> Apache.Qpid.Proton.Engine.IEngineSaslDriver.Client </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure this <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a> to operate in client mode and return the associated ISaslClientContext instance that should be used to complete the SASL negotiation with the server end. </p>
<dl class="section return"><dt>Returns</dt><dd>A SASL <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html">Client</a> context instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">InvalidOperationException</td><td>If the engine is in server mode or has not been configured with SASL support. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonEngineSaslDriver.html#a7f7433f460c7acde5dafcb75d558e902">Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonEngineSaslDriver</a>, and <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngineNoOpSaslDriver.html#a72fe165d62bfea7667764ec223b31296">Apache.Qpid.Proton.Engine.Implementation.ProtonEngineNoOpSaslDriver</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a> Apache.Qpid.Proton.Engine.IEngineSaslDriver.Server </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure this <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a> to operate in server mode and return the associated ISaslServerContext instance that should be used to complete the SASL negotiation with the client end. </p>
<dl class="section return"><dt>Returns</dt><dd>A SASL Server context instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">InvalidOperationException</td><td>If the engine is in client mode or has not been configured with SASL support. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonEngineSaslDriver.html#aee8a1ab3f9ceec0803c31bfe540782d8">Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonEngineSaslDriver</a>, and <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngineNoOpSaslDriver.html#ae4cbc7432259a661860d0dbee2633b69">Apache.Qpid.Proton.Engine.Implementation.ProtonEngineNoOpSaslDriver</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint Apache.Qpid.Proton.Engine.IEngineSaslDriver.MaxFrameSize</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>Provides access to the SASL drivers configured max frame size value, the max frame size can be updated before the engine has been started but is locked for updates following an engine start. </p>

</div>
</div>
<a id="aba9af4ad7cdc0bac5efcc09332d05d7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba9af4ad7cdc0bac5efcc09332d05d7f">&#9670;&nbsp;</a></span>SaslOutcome</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="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl.html#a007ac2ee5719c195cd362bfa2aec1b3a">SaslAuthOutcome</a>? Apache.Qpid.Proton.Engine.IEngineSaslDriver.SaslOutcome</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provides a low level outcome value for the SASL authentication process. If the SASL exchange is ongoing or the SASL layer was skipped because a particular engine configuration allows such behavior then this method should return null to indicate no SASL outcome is available. </p>

</div>
</div>
<a id="a2b9a309a9e341c5a92824134232a329b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b9a309a9e341c5a92824134232a329b">&#9670;&nbsp;</a></span>SaslState</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="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#ae14090a56ba2b8dc9b9bdccb6c5fdfb5">EngineSaslState</a> Apache.Qpid.Proton.Engine.IEngineSaslDriver.SaslState</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a SaslState that indicates the current operating state of the SASL negotiation process or conversely if no SASL layer is configured this method should return the disabled state. This method must never return a null result. </p>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>src/Proton/Engine/IEngineSaslDriver.cs</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>
