# SaslPlainNegotiator class

Inheritance
  - Object
  - XmppFeatureNegotiatorBase
  - SaslNegotiator
  - Sasl2AuthenticationNegotiator
  - SaslPlainNegotiator

## Constructors

SaslPlainNegotiator ()

## Properties

attributes → NegotiatorAttributes
  no setterinherited
hashCode → int
  The hash code for this object.
  no setterinherited
id → String
  The Id of the negotiator
  finalinherited
mechanismName → String
  The name inside the <mechanism> element</mechanism>
  finalinherited
negotiatingXmlns → String
  The XMLNS the negotiator will negotiate
  finalinherited
pickedForSasl2 → bool
  no setterinherited
priority → int
  The priority regarding other negotiators. The higher, the earlier will the negotiator be used
  finalinherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setterinherited
sendStreamHeaderWhenDone → bool
  If true, then a new stream header will be sent when the negotiator switches its state to done. If false, no stream header will be sent.
  finalinherited
state ↔ NegotiatorState
  The state the negotiator is currently in
  getter/setter pairinherited

## Methods

canInlineFeature (List <XMLNode> features) → bool
  Called by the SASL2 negotiator to find out whether the negotiator is willing to inline a feature. `features` is the list of elements inside the <inline> element.</inline>
  inherited
getRawStep (String input) → Future <String>
  Perform a SASL step with `input` as the already parsed input data. Returns the base64-encoded response data.
  override
matchesFeature (List <XMLNode> features) → bool
  Returns true if a feature in `features`, which are the children of the <stream:features /> nonza, can be negotiated. Otherwise, returns false.
  override
negotiate (XMLNode nonza) → Future <Result<NegotiatorState, NegotiatorError>>
  Called with the currently received nonza `nonza` when the negotiator is active. If the negotiator is just elected to be the next one, then `nonza` is equal to the <stream:features /> nonza.
  override
noSuchMethod (Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
onSasl2Failure (XMLNode response) → Future <void>
  Called by the SASL2 negotiator when the SASL2 negotiations have failed. `response` is the entire response nonza.
  override
onSasl2FeaturesReceived (XMLNode sasl2Features) → Future <List <XMLNode>>
  Called by the SASL2 negotiator when we received the SASL2 stream features `sasl2Features`. 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 negotiatingXmlns.</inline></authenticate>
  override
onSasl2Success (XMLNode response) → Future <Result<bool, NegotiatorError>>
  Called by the SASL2 negotiator when the SASL2 negotiations are done. `response` is the entire response nonza. This method is only called when the previous <inline> element contains an item with xmlns equal to negotiatingXmlns.</inline>
  override
onXmppEvent (XmppEvent event) → Future <void>
  Called when an event is triggered in the XmppConnection.
  inherited
pickForSasl2 () → void
  Tells the negotiator that it has been selected as the SASL negotiator for SASL2.
  inherited
postRegisterCallback () → Future <void>
  Run after all negotiators are registered. Useful for registering callbacks against other negotiators. By default this function does nothing.
  override
register (NegotiatorAttributes attributes) → void
  Register the negotiator against a connection class by means of `attributes`.
  inherited
reset () → void
  Reset the negotiator to a state that negotation can happen again.
  override
shouldRetrySasl () → bool
  When SASL2 fails, should we retry (true) or just fail (false). Defaults to just returning false.
  inherited
toString () → String
  A string representation of this object.
  inherited

## Operators

operator == (Object other) → bool
  The equality operator.
  inherited