177 lines
6.4 KiB
HTML
177 lines
6.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
|
|
<meta name="description" content="API docs for the onSasl2FeaturesReceived method from the Bind2Negotiator class, for the Dart programming language.">
|
|
<title>onSasl2FeaturesReceived method - Bind2Negotiator class - moxxmpp library - Dart API</title>
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0" rel="stylesheet">
|
|
|
|
<link rel="stylesheet" href="../../static-assets/github.css?v1">
|
|
<link rel="stylesheet" href="../../static-assets/styles.css?v1">
|
|
<link rel="icon" href="../../static-assets/favicon.png?v1">
|
|
|
|
|
|
</head>
|
|
|
|
|
|
<body data-base-href="../../" data-using-base-href="false" class="light-theme">
|
|
|
|
<div id="overlay-under-drawer"></div>
|
|
|
|
<header id="title">
|
|
<span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
|
|
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
<li><a href="../../index.html">moxxmpp</a></li>
|
|
<li><a href="../../moxxmpp/moxxmpp-library.html">moxxmpp</a></li>
|
|
<li><a href="../../moxxmpp/Bind2Negotiator-class.html">Bind2Negotiator</a></li>
|
|
<li class="self-crumb">onSasl2FeaturesReceived method</li>
|
|
</ol>
|
|
<div class="self-name">onSasl2FeaturesReceived</div>
|
|
<form class="search navbar-right" role="search">
|
|
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
</form>
|
|
<div class="toggle" id="theme-button">
|
|
<label for="theme">
|
|
<input type="checkbox" id="theme" value="light-theme">
|
|
<span id="dark-theme-button" class="material-symbols-outlined">
|
|
brightness_4
|
|
</span>
|
|
<span id="light-theme-button" class="material-symbols-outlined">
|
|
brightness_5
|
|
</span>
|
|
</label>
|
|
</div>
|
|
</header>
|
|
<main>
|
|
|
|
<div
|
|
id="dartdoc-main-content"
|
|
class="main-content"
|
|
data-above-sidebar="moxxmpp/Bind2Negotiator-class-sidebar.html"
|
|
data-below-sidebar="">
|
|
<div>
|
|
<h1><span class="kind-method">onSasl2FeaturesReceived</span> method
|
|
</h1></div>
|
|
|
|
<section class="multi-line-signature">
|
|
|
|
<div>
|
|
<ol class="annotation-list">
|
|
<li>@<a href="https://api.dart.dev/stable/3.2.4/dart-core/override-constant.html">override</a></li>
|
|
</ol>
|
|
</div>
|
|
|
|
<span class="returntype"><a href="https://api.dart.dev/stable/3.2.4/dart-async/Future-class.html">Future</a><span class="signature"><<wbr><span class="type-parameter"><a href="https://api.dart.dev/stable/3.2.4/dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="../../moxxmpp/XMLNode-class.html">XMLNode</a></span>></span></span>></span></span>
|
|
<span class="name ">onSasl2FeaturesReceived</span>(<wbr><ol class="parameter-list"><li><span class="parameter" id="onSasl2FeaturesReceived-param-sasl2Features"><span class="type-annotation"><a href="../../moxxmpp/XMLNode-class.html">XMLNode</a></span> <span class="parameter-name">sasl2Features</span></span></li>
|
|
</ol>)
|
|
|
|
<div class="features"><span class="feature">override</span></div>
|
|
|
|
</section>
|
|
|
|
<section class="desc markdown">
|
|
<p>Called by the SASL2 negotiator when we received the SASL2 stream features
|
|
<code>sasl2Features</code>. The return value is a list of XML elements that should be
|
|
added to the SASL2 <authenticate> nonza.
|
|
This method is only called when the <inline> element contains an item with
|
|
xmlns equal to <a href="../../moxxmpp/XmppFeatureNegotiatorBase/negotiatingXmlns.html">negotiatingXmlns</a>.</inline></authenticate></p>
|
|
</section>
|
|
|
|
|
|
|
|
<section class="summary source-code" id="source">
|
|
<h2><span>Implementation</span></h2>
|
|
<pre class="language-dart"><code class="language-dart">@override
|
|
Future<List<XMLNode>> onSasl2FeaturesReceived(XMLNode sasl2Features) async {
|
|
final children = List<XMLNode>.empty(growable: true);
|
|
if (_negotiators.isNotEmpty) {
|
|
final inline = sasl2Features
|
|
.firstTag('inline')!
|
|
.firstTag('bind', xmlns: bind2Xmlns)!
|
|
.firstTag('inline');
|
|
if (inline != null) {
|
|
final features = inline.children
|
|
.where((child) => child.tag == 'feature')
|
|
.map((child) => child.attributes['var']! as String)
|
|
.toList();
|
|
|
|
// Only call the negotiators if Bind2 allows doing stuff inline
|
|
for (final negotiator in _negotiators) {
|
|
children.addAll(await negotiator.onBind2FeaturesReceived(features));
|
|
}
|
|
}
|
|
}
|
|
|
|
return [
|
|
XMLNode.xmlns(
|
|
tag: 'bind',
|
|
xmlns: bind2Xmlns,
|
|
children: [
|
|
if (tag != null)
|
|
XMLNode(
|
|
tag: 'tag',
|
|
text: tag,
|
|
),
|
|
...children,
|
|
],
|
|
),
|
|
];
|
|
}</code></pre>
|
|
</section>
|
|
|
|
|
|
</div> <!-- /.main-content -->
|
|
|
|
<div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
|
|
<!-- The search input and breadcrumbs below are only responsively visible at low resolutions. -->
|
|
<header id="header-search-sidebar" class="hidden-l">
|
|
<form class="search-sidebar" role="search">
|
|
<input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
</form>
|
|
</header>
|
|
|
|
<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
|
|
<li><a href="../../index.html">moxxmpp</a></li>
|
|
<li><a href="../../moxxmpp/moxxmpp-library.html">moxxmpp</a></li>
|
|
<li><a href="../../moxxmpp/Bind2Negotiator-class.html">Bind2Negotiator</a></li>
|
|
<li class="self-crumb">onSasl2FeaturesReceived method</li>
|
|
</ol>
|
|
|
|
|
|
<h5>Bind2Negotiator class</h5>
|
|
<div id="dartdoc-sidebar-left-content"></div>
|
|
</div><!--/.sidebar-offcanvas-->
|
|
|
|
<div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
|
|
</div><!--/.sidebar-offcanvas-->
|
|
|
|
</main>
|
|
|
|
<footer>
|
|
<span class="no-break">
|
|
moxxmpp
|
|
0.4.0
|
|
</span>
|
|
|
|
|
|
</footer>
|
|
|
|
|
|
|
|
<script src="../../static-assets/highlight.pack.js?v1"></script>
|
|
<script src="../../static-assets/docs.dart.js"></script>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|