# moxxmpp library

## Classes

AlwaysConnectedConnectivityManager
  An implementation of ConnectivityManager that is always connected.
AuthenticationFailedEvent
  Triggered after the SASL authentication has failed.
AuthenticationSuccessEvent
  Triggered after the SASL authentication has succeeded.
AvatarError
BaseRosterStateManager
  This class manages the roster state in order to correctly process and persist roster pushes and facilitate roster versioning requests.
BaseSocketWrapper
  This class is the base for a socket that XmppConnection can use.
Bind2FeatureNegotiator
  A class that allows for simple negotiators that only registers itself against the Bind2 negotiator. You only have to implement the functions required by Bind2FeatureNegotiatorInterface.
Bind2FeatureNegotiatorInterface
  An interface that allows registering against Bind2's feature list in order to negotiate features inline with Bind2.
Bind2Negotiator
  A negotiator implementing XEP-0386. This negotiator is useless on its own and requires a Sasl2Negotiator to be registered.
BlockingManager
BlocklistBlockPushEvent
  Triggered when receiving a push of the blocklist
BlocklistUnblockAllPushEvent
  Triggered when receiving a push of the blocklist
BlocklistUnblockPushEvent
  Triggered when receiving a push of the blocklist
CarbonsData
CarbonsManager
  This manager class implements support for XEP-0280.
CarbonsNegotiator
ChatMarkerData
ChatMarkerEvent
ChatMarkerManager
ChatStateManager
ClientStreamHeaderNonza
  "Nonza" describing the XMPP stream header of a client-to-server connection.
ClientToServerNegotiator
  This class implements the stream feature negotiation for usage in client to server connections.
ComponentStreamHeaderNonza
  Nonza describing the XMPP stream header.
ComponentToServerNegotiator
  The ComponentToServerNegotiator is a NegotiationsHandler that allows writing components that adhere to XEP-0114.
ConnectingEvent
  Triggered when we are starting an connection attempt
ConnectionSettings
ConnectionStateChangedEvent
  Triggered when the connection state of the XmppConnection has changed.
ConnectivityManager
  This manager class is responsible to tell the moxxmpp XmppConnection when a connection can be established or not, regarding the network availability.
CryptographicHashManager
CSIActiveNonza
CSIInactiveNonza
CSIManager
  The manager requires a CSINegotiator to be registered as a feature negotiator.
CSINegotiator
  A Stub negotiator that is just for "intercepting" the stream feature.
DataForm
DataFormField
DataFormOption
DelayedDeliveryData
DelayedDeliveryManager
DeliveryReceiptReceivedEvent
  Triggered when a client responds to our delivery receipt request
DiscoError
  Base type for disco-related errors.
DiscoInfo
DiscoItem
DiscoManager
  This manager implements XEP-0030 by providing a way of performing disco#info and disco#items requests and answering those requests. A caching mechanism is also provided.
DoNotEncrypt
  A simple wrapper class for defining elements that should not be encrypted.
EjabberdMaxItemsError
  Returned if we can guess that the server, by which I mean ejabberd, rejected the publish due to not liking that we set "max_items" to "max". NOTE: This workaround is required due to https://github.com/processone/ejabberd/issues/3044
EmeManager
EntityCapabilitiesManager
  A manager implementing the advertising of XEP-0115. It responds to the disco#info requests on the specified node with the information provided by the DiscoManager. NOTE: This manager requires that the DiscoManager is also registered.
FASTSaslNegotiator
FASTToken
  The description of a token for FAST authentication.
FileMetadataData
FileTooBigError
  Returned when the file we want to upload is too big
FileUploadNotificationCancellationData
  Indicates that a file upload has been cancelled.
FileUploadNotificationData
  Indicates a file upload notification.
FileUploadNotificationManager
FileUploadNotificationReplacementData
  Indicates that a file upload has been completed.
Handler
  A Handler is responsible for matching any kind of toplevel item in the XML stream (stanzas and Nonzas). For that, its matches method is called. What happens next depends on the subclass.
HttpFileUploadError
HttpFileUploadManager
HttpFileUploadSlot
Identity
InvalidateFASTTokenEvent
  This event is triggered whenever a new FAST token is invalidated because it's invalid.
InvalidDiscoInfoResponse
  Represents an error indicating an abnormal condition while parsing the DiscoInfo response stanza in Multi-User Chat (MUC).
InvalidHandshakeCredentialsError
  Returned by the ComponentToServerNegotiator if the handshake is not successful.
InvalidResponseDiscoError
  The received disco response is invalid in some shape or form.
InvalidServerSignatureError
InvalidStanzaFormat
  Error indicating an invalid (non-supported) stanza received while going through normal operation/flow of an MUC.
InvalidVCardError
JID
  Represents a Jabber ID in parsed form.
JingleContentThumbnail
JoinForbiddenError
  Indicates that the MUC forbids us from joining, i.e. when we're banned.
LastMessageCorrectionData
LastMessageCorrectionManager
MalformedResponseError
MarkableData
MemberChangedEvent
  Triggered when an entity changes their presence in the MUC.
MemberChangedNickEvent
  Triggered when an entity changes their nick.
MemberJoinedEvent
  Triggered when an entity joins the MUC.
MemberLeftEvent
  Triggered when an entity leaves the MUC.
MessageBodyData
  The raw content of the element.
MessageDeliveryReceiptData
MessageDeliveryReceiptManager
MessageDeliveryReceivedData
MessageEvent
  Triggered when a message is received
MessageIdData
  The id attribute of the message stanza.
MessageManager
MessageProcessingHintData
MessageProcessingHintManager
MessageReactionsData
MessageReactionsManager
MessageRepliesManager
  A manager implementing support for parsing XEP-0461 metadata. The MessageRepliesManager itself does not modify the body of the message.
MessageRetractionData
MessageRetractionManager
MUCError
  Represents an error related to Multi-User Chat (MUC).
MUCManager
MUCUnspecificError
  Indicates that an unspecific error occurred while joining.
NegotiationsHandler
  This class implements the stream feature negotiation for XmppConnection.
NegotiatorAttributes
NegotiatorError
  A base class for all errors that may occur during feature negotiation
NegotiatorReturnedError
  Returned by `XmppConnection.connect` when a negotiator returned an unrecoverable error. Only returned when waitUntilLogin is true.
NewFASTTokenReceivedEvent
  This event is triggered whenever a new FAST token is received.
NoAdditionalDataError
NoAuthenticatorAvailableError
  Returned if no negotiator was picked, even though negotiations are not done yet.
NoConnectionPossibleError
  Returned by `XmppConnection.connect` when no connection could be established.
NoEntityKnownError
  Returned when we don't know what JID to ask for an upload slot
NoItemReturnedError
NoMatchingAuthenticationMechanismAvailableError
  Returned if no matching authentication mechanism has been presented
NoNicknameSpecified
  Returned when no nickname was specified from the client side while trying to perform some actions on the MUC, such as joining the room.
NonRecoverableErrorEvent
  Triggered when a reconnection is not performed due to a non-recoverable error.
NonzaHandler
  A Handler that specialises in matching Nonzas (and stanzas).
NoQueryError
  Returned when the server's response did not contain a <query> element</query>
NoSASLMechanismSelectedError
  Triggered by the SASL2 negotiator when no SASL mechanism was chosen during negotiation.
OccupantIdData
  Representation of a element.
OccupantIdManager
OmemoData
OmemoDeviceListUpdatedEvent
  Triggered when the device list of a Jid is updated
OmemoEncryptionError
  An encryption error caused by OMEMO.
OmemoError
OmemoManager
OmemoNotSupportedForContactException
OOBData
  A data class representing the jabber:x:oob tag.
OOBManager
OwnDataChangedEvent
  Triggered when the MUC changes our nickname.
PingManager
  This manager class is responsible to sending periodic pings, if required, using either whitespaces or Stream Management. Keep in mind, that without Stream Management, a stale connection cannot be detected.
PreconditionsNotMetError
PresenceManager
  A mandatory manager that handles initial presence sending, sending of subscription request management requests and triggers events for incoming presence stanzas.
PresenceNegotiator
  A pseudo-negotiator that does not really negotiate anything. Instead, its purpose is to look for a stream feature indicating that we can pre-approve subscription requests, shown by PresenceNegotiator.preApprovalSupported.
PubSubError
PubSubItem
PubSubManager
PubSubNotificationEvent
  Triggered when a PubSub notification has been received
PubSubPublishOptions
QuoteData
  Internal class describing how to build a message with a quote fallback body.
RandomBackoffReconnectionPolicy
  A simple reconnection strategy: Make the reconnection delays exponentially longer for every failed attempt. NOTE: This ReconnectionPolicy may be broken
ReconnectionPolicy
RemoteServerNotFoundError
  Could not connect to the remote server. https://xmpp.org/rfcs/rfc6120.html#stanzas-error-conditions-remote-server-not-found
RemoteServerTimeoutError
  The connection to the remote server timed out. https://xmpp.org/rfcs/rfc6120.html#stanzas-error-conditions-remote-server-timeout
ReplyData
  A reply to a message.
ResourceBindingFailedError
ResourceBindingNegotiator
  A negotiator that implements resource binding against a random server-provided resource.
ResourceBoundEvent
  Triggered when we bound a resource
RoomInformation
RoomMember
  An entity inside a MUC room. The name "member" here does not refer to an affiliation of member.
RoomNotJoinedError
  This error occurs when a user attempts to perform an action that requires them to be a member of a room, but they are not currently joined to that room.
RoomState
RosterCacheLoadResult
RosterError
RosterFeatureNegotiator
  A Stub feature negotiator for finding out whether roster versioning is supported.
RosterManager
  This manager requires a RosterFeatureNegotiator to be registered.
RosterPushResult
RosterRequestResult
RosterUpdatedEvent
  Triggered when the roster has been modified
Sasl2AuthenticationNegotiator
  A special type of SaslNegotiator that is aware of SASL2.
Sasl2FeatureNegotiator
  A special type of XmppFeatureNegotiatorBase that is aware of SASL2.
Sasl2Negotiator
  A negotiator that implements XEP-0388 SASL2. Alone, it does nothing. Has to be registered with other negotiators that register themselves against this one.
SaslAccountDisabledError
  Triggered when the server returned us a failure during SASL (https://xmpp.org/rfcs/rfc6120.html#sasl-errors-account-disabled).
SaslCredentialsExpiredError
  Triggered when the server returned us a failure during SASL (https://xmpp.org/rfcs/rfc6120.html#sasl-errors-credentials-expired).
SaslError
SaslNegotiator
SaslNotAuthorizedError
  Triggered when the server returned us a failure during SASL (https://xmpp.org/rfcs/rfc6120.html#sasl-errors-not-authorized).
SaslPlainAuthNonza
SaslPlainNegotiator
SaslScramAuthNonza
SaslScramError
SaslScramNegotiator
SaslScramResponseNonza
SaslUnspecifiedError
  An unspecified SASL error, i.e. everything not matched by any more precise erorr class.
ServerDiscoDoneEvent
  Triggered when we found out what the server supports
ServerItemDiscoEvent
ServiceUnavailableError
  Recipient does not provide a given service. https://xmpp.org/rfcs/rfc6120.html#stanzas-error-conditions-service-unavailable
SFSManager
SFSMessageData
SIMSManager
SocketError
  Returned if a socket error occured
StableIdData
StableIdManager
Stanza
StanzaAckedEvent
  Triggered by the StreamManagementManager if a stanza has been acked
StanzaDetails
  A description of a stanza to send.
StanzaError
  A general error type for errors.
StanzaHandler
  A Handler that only matches stanzas.
StanzaHandlerData
StanzaHandlerExtension
StanzaId
  Representation of a element.
StanzaSendingCancelledEvent
  Triggered when a stanza has not been sent because a stanza handler wanted to cancel the entire process.
StartTLSFailedError
StartTlsNegotiator
  A negotiator implementing StartTLS.
StartTLSNonza
StatelessFileSharingData
StatelessFileSharingEncryptedSource
StatelessFileSharingSource
  The base class for sources for StatelessFileSharing
StatelessFileSharingUrlSource
  Implementation for url-data source elements.
StatelessMediaSharingData
Sticker
StickerPack
StickersData
StickersManager
StreamError
  Returned if we received a stream error
StreamErrorEvent
  Triggered when we encounter a stream error.
StreamFailureError
StreamManagementAckNonza
StreamManagementEnabledEvent
StreamManagementEnableNonza
StreamManagementManager
StreamManagementNegotiator
  NOTE: The stream management negotiator requires that loadState has been called on the StreamManagementManager at least once before connecting, if stream resumption is wanted.
StreamManagementRequestNonza
StreamManagementResumeNonza
StreamManagementState
StreamNegotiationsDoneEvent
  Triggered when the stream negotiations are done.
StreamResumedEvent
  Triggered when the stream resumption was successful
StreamResumeFailedEvent
  Triggered when stream resumption failed
SubscriptionRequestReceivedEvent
  Triggered when we receive a subscription request
TestingReconnectionPolicy
  A stub reconnection policy for tests.
TestingRosterStateManager
TestingSleepReconnectionPolicy
  A reconnection policy for tests that waits a constant number of seconds before attempting a reconnection.
TimeoutError
  Returned if we time out
TypedMap <B>
  A map, similar to Map, but always uses the type of the value as the key.
UnexpectedDataError
  Returned by the negotiation handler if unexpected data has been received
UnknownAvatarError
UnknownDiscoError
  An unspecified error that is not covered by another DiscoError.
UnknownError
  Unspecified error
UnknownHttpFileUploadError
  Unspecified errors
UnknownOmemoError
UnknownPubSubError
UnknownStanzaError
  An unknown error.
UnknownVCardError
UserAgent
  A data class describing the user agent. See https://xmpp.org/extensions/xep-0388.html#initiation.
UserAvatarData
  The result of a successful query of a users avatar.
UserAvatarManager
  NOTE: This class requires a PubSubManager
UserAvatarMetadata
UserAvatarUpdatedEvent
  Triggered when we receive a new or updated avatar via XEP-0084
VCard
VCardAvatarUpdatedEvent
  Triggered when we receive a new or updated avatar via XEP-0054
VCardError
VCardManager
VCardPhoto
XMLNode
XmppConnection
  This class is a connection to the server.
XmppConnectionError
  The reason a call to `XmppConnection.connect` failed.
XmppError
  An internal error class
XmppEvent
XmppFeatureNegotiatorBase
XmppManagerAttributes
XmppManagerBase
XmppRosterItem
XmppSocketClosureEvent
  Triggered when the socket is closed
XmppSocketErrorEvent
  Triggered by the socket when an error occurs.
XmppSocketEvent

## Constants

allowedHTTPHeaders → const List <String>
  `['authorization', 'cookie', 'expires']`
bind2Negotiator → const String
  `'org.moxxmpp.bind2'`
bind2Xmlns → const String
  `'urn:xmpp:bind:0'`
bindXmlns → const String
  `'urn:ietf:params:xml:ns:xmpp-bind'`
blockingManager → const String
  `'org.moxxmpp.blockingmanager'`
blockingXmlns → const String
  `'urn:xmpp:blocking'`
capsXmlns → const String
  `'http://jabber.org/protocol/caps'`
carbonsManager → const String
  `'org.moxxmpp.carbonsmanager'`
carbonsNegotiator → const String
  `'org.moxxmpp.bind2.carbons'`
carbonsXmlns → const String
  `'urn:xmpp:carbons:2'`
chatMarkerManager → const String
  `'org.moxxmpp.chatmarkermanager'`
chatMarkersXmlns → const String
  `'urn:xmpp:chat-markers:0'`
chatStateManager → const String
  `'org.moxxmpp.chatstatemanager'`
chatStateXmlns → const String
  `'http://jabber.org/protocol/chatstates'`
componentAcceptXmlns → const String
  `'jabber:component:accept'`
cryptographicHashManager → const String
  `'org.moxxmpp.cryptographichashmanager'`
csiManager → const String
  `'org.moxxmpp.csimanager'`
csiNegotiator → const String
  `'im.moxxmpp.xeps.csi'`
csiXmlns → const String
  `'urn:xmpp:csi:0'`
dataFormsXmlns → const String
  `'jabber:x:data'`
delayedDeliveryManager → const String
  `'org.moxxmpp.delayeddeliverymanager'`
delayedDeliveryXmlns → const String
  `'urn:xmpp:delay'`
deliveryXmlns → const String
  `'urn:xmpp:receipts'`
discoInfoXmlns → const String
  `'http://jabber.org/protocol/disco#info'`
discoItemsXmlns → const String
  `'http://jabber.org/protocol/disco#items'`
discoManager → const String
  `'org.moxxmpp.discomanager'`
emeLegacyOpenPGP → const String
  `'jabber:x:encrypted'`
emeManager → const String
  `'org.moxxmpp.ememanager'`
emeOmemo → const String
  `'eu.siacs.conversations.axolotl'`
emeOmemo1 → const String
  `'urn:xmpp:omemo:1'`
emeOmemo2 → const String
  `'urn:xmpp:omemo:2'`
emeOpenPGP → const String
  `'urn:xmpp:openpgp:0'`
emeOtr → const String
  `'urn:xmpp:otr:0'`
emeXmlns → const String
  `'urn:xmpp:eme:0'`
entityCapabilitiesManager → const String
  `'org.moxxmpp.entitycapabilities'`
extendedAddressingXmlns → const String
  `'http://jabber.org/protocol/address'`
fallbackIndicationXmlns → const String
  `'urn:xmpp:fallback:0'`
fallbackXmlns → const String
  `'urn:xmpp:feature-fallback:0'`
fasteningXmlns → const String
  `'urn:xmpp:fasten:0'`
fastXmlns → const String
  `'urn:xmpp:fast:0'`
fileMetadataXmlns → const String
  `'urn:xmpp:file:metadata:0'`
fileUploadNotificationManager → const String
  `'org.moxxmpp.fileuploadnotificationmanager'`
fileUploadNotificationXmlns → const String
  NOTE: Specified by https://github.com/PapaTutuWawa/custom-xeps/blob/master/xep-xxxx-file-upload-notifications.md
  `'proto:urn:xmpp:fun:0'`
formVarFormType → const String
  `'FORM_TYPE'`
forwardedXmlns → const String
  `'urn:xmpp:forward:0'`
fullStanzaXmlns → const String
  `'urn:ietf:params:xml:ns:xmpp-stanzas'`
gs2Header → const String
  `'n,,'`
hashFunctionNameBaseXmlns → const String
  `'urn:xmpp:hash-function-text-names'`
hashXmlns → const String
  `'urn:xmpp:hashes:2'`
httpFileUploadManager → const String
  `'org.moxxmpp.httpfileuploadmanager'`
httpFileUploadXmlns → const String
  `'urn:xmpp:http:upload:0'`
jingleContentThumbnailXmlns → const String
  `'urn:xmpp:thumbs:1'`
jingleFileTransferXmlns → const String
  `'urn:xmpp:jingle:apps:file-transfer:5'`
lastMessageCorrectionManager → const String
  `'org.moxxmpp.lastmessagecorrectionmanager'`
lmcXmlns → const String
  `'urn:xmpp:message-correct:0'`
messageDeliveryReceiptManager → const String
  `'org.moxxmpp.messagedeliveryreceiptmanager'`
messageManager → const String
  `'org.moxxmpp.messagemanager'`
messageProcessingHintManager → const String
  `'org.moxxmpp.messageprocessinghint'`
messageProcessingHintsXmlns → const String
  `'urn:xmpp:hints'`
messageReactionsManager → const String
  `'org.moxxmpp.messagereactionsmanager'`
messageReactionsXmlns → const String
  `'urn:xmpp:reactions:0'`
messageRepliesManager → const String
  `'org.moxxmpp.messagerepliesmanager'`
messageRetractionManager → const String
  `'org.moxxmpp.messageretractionmanager'`
messageRetractionXmlns → const String
  `'urn:xmpp:message-retract:0'`
mucManager → const String
  `'org.moxxmpp.mucmanager'`
mucUserXmlns → const String
  `'http://jabber.org/protocol/muc#user'`
mucXmlns → const String
  `'http://jabber.org/protocol/muc'`
occupantIdManager → const String
  `'org.moxxmpp.occupantidmanager'`
occupantIdXmlns → const String
  `'urn:xmpp:occupant-id:0'`
omemoBundlesXmlns → const String
  `'urn:xmpp:omemo:2:bundles'`
omemoDevicesXmlns → const String
  `'urn:xmpp:omemo:2:devices'`
omemoManager → const String
  `'org.moxxmpp.omemomanager'`
omemoXmlns → const String
  `'urn:xmpp:omemo:2'`
oobDataXmlns → const String
  `'jabber:x:oob'`
oobManager → const String
  `'org.moxxmpp.oobmanager'`
pingManager → const String
  `'org.moxxmpp.ping'`
presenceManager → const String
  `'org.moxxmpp.presencemanager'`
presenceNegotiator → const String
  `'org.moxxmpp.core.presence'`
pubsubEventXmlns → const String
  `'http://jabber.org/protocol/pubsub#event'`
pubsubManager → const String
  `'org.moxxmpp.pubsubmanager'`
pubsubNodeConfigMax → const String
  `'http://jabber.org/protocol/pubsub#config-node-max'`
pubsubNodeConfigMultiItems → const String
  `'http://jabber.org/protocol/pubsub#multi-items'`
pubsubOwnerXmlns → const String
  `'http://jabber.org/protocol/pubsub#owner'`
pubsubPublishOptionsXmlns → const String
  `'http://jabber.org/protocol/pubsub#publish-options'`
pubsubXmlns → const String
  `'http://jabber.org/protocol/pubsub'`
referenceXmlns → const String
  `'urn:xmpp:reference:0'`
replyXmlns → const String
  `'urn:xmpp:reply:0'`
resourceBindingNegotiator → const String
  `'im.moxxmpp.core.resource'`
roomInfoFormType → const String
  `'http://jabber.org/protocol/muc#roominfo'`
rosterManager → const String
  `'org.moxxmpp.rostermanager'`
rosterNegotiator → const String
  `'im.moxxmpp.core.roster'`
rosterVersioningXmlns → const String
  `'urn:xmpp:features:rosterver'`
rosterXmlns → const String
  `'jabber:iq:roster'`
sasl2Negotiator → const String
  `'org.moxxmpp.sasl.sasl2'`
sasl2Xmlns → const String
  `'urn:xmpp:sasl:2'`
saslFASTNegotiator → const String
  `'org.moxxmpp.sasl.fast'`
saslPlainNegotiator → const String
  `'im.moxxmpp.sasl.plain'`
saslScramSha1Negotiator → const String
  `'im.moxxmpp.sasl.scram.sha1'`
saslScramSha256Negotiator → const String
  `'im.moxxmpp.sasl.scram.sha256'`
saslScramSha512Negotiator → const String
  `'im.moxxmpp.sasl.scram.sha512'`
saslXmlns → const String
  `'urn:ietf:params:xml:ns:xmpp-sasl'`
sceXmlns → const String
  `'urn:xmpp:sce:1'`
scramSha1Mechanism → const String
  `'SCRAM-SHA-1'`
scramSha256Mechanism → const String
  `'SCRAM-SHA-256'`
scramSha512Mechanism → const String
  `'SCRAM-SHA-512'`
sfsEncryptionAes128GcmNoPaddingXmlns → const String
  `'urn:xmpp:ciphers:aes-128-gcm-nopadding:0'`
sfsEncryptionAes256CbcPkcs7Xmlns → const String
  `'urn:xmpp:ciphers:aes-256-cbc-pkcs7:0'`
sfsEncryptionAes256GcmNoPaddingXmlns → const String
  `'urn:xmpp:ciphers:aes-256-gcm-nopadding:0'`
sfsEncryptionXmlns → const String
  `'urn:xmpp:esfs:0'`
sfsManager → const String
  `'org.moxxmpp.sfsmanager'`
sfsXmlns → const String
  `'urn:xmpp:sfs:0'`
simsManager → const String
  `'org.moxxmpp.simsmanager'`
simsXmlns → const String
  `'urn:xmpp:sims:1'`
smManager → const String
  `'org.moxxmpp.streammangementmanager'`
smXmlns → const String
  `'urn:xmpp:sm:3'`
stableIdManager → const String
  `'org.moxxmpp.stableidmanager'`
stableIdXmlns → const String
  `'urn:xmpp:sid:0'`
stanzaXmlns → const String
  `'jabber:client'`
startTlsNegotiator → const String
  `'im.moxxmpp.core.starttls'`
startTlsXmlns → const String
  `'urn:ietf:params:xml:ns:xmpp-tls'`
stickersManager → const String
  `'org.moxxmpp.stickersmanager'`
stickersXmlns → const String
  `'urn:xmpp:stickers:0'`
streamManagementNegotiator → const String
  `'im.moxxmpp.xeps.sm'`
streamXmlns → const String
  `'http://etherx.jabber.org/streams'`
subscriptionPreApprovalXmlns → const String
  `'urn:xmpp:features:pre-approval'`
urlDataXmlns → const String
  `'http://jabber.org/protocol/url-data'`
userAvatarDataXmlns → const String
  `'urn:xmpp:avatar:data'`
userAvatarManager → const String
  `'org.moxxmpp.useravatarmanager'`
userAvatarMetadataXmlns → const String
  `'urn:xmpp:avatar:metadata'`
vcardManager → const String
  `'org.moxxmpp.vcardmanager'`
vCardTempUpdate → const String
  `'vcard-temp:x:update'`
vCardTempXmlns → const String
  `'vcard-temp'`
xmlUintMax → const int
  `4294967296`
xmppClientALPNId → const String
  `'xmpp-client'`

## Functions

buildDiscoInfoQueryStanza (JID entity, String? node) → Stanza
buildDiscoItemsQueryStanza (JID entity, {String? node}) → Stanza
buildErrorElement (String type, String condition, {String? text}) → XMLNode
  Build an <error> element with a child <`condition` type="`type`" />. If `text` is not null, then the condition element will contain a <text> element with `text` as the body.</text></error>
bundleFromXML (JID jid, int id, XMLNode bundle) → OmemoBundle
  Convert the XML representation of an OMEMO bundle into an OmemoBundle object. `jid` refers to the JID the bundle belongs to. `id` refers to the bundle's device identifier. `bundle` refers to the <bundle> element.</bundle>
bundleToXML (OmemoBundle bundle) → XMLNode
  Converts an OmemoBundle `bundle` into its XML representation.
calculateCapabilityHash (HashFunction algorithm, DiscoInfo info) → Future <String>
  Calculates the Entitiy Capability hash according to XEP-0115 based on the disco information.
checkAffixElements (XMLNode envelope, String sender, JID ourJid) → bool
  Checks the OMEMO affix elements. `envelope` refers to the <envelope> element we get after decrypting the payload. `sender` refers to the "to" attribute of the stanza. `ourJid` is our current full Jid.</envelope>
constructHashElement (HashFunction hash, String value) → XMLNode
  Helper method for building a <hash> element according to XEP-0300.</hash>
generateRpad () → String
  Generate a random alpha-numeric string with a random length between 0 and 200 in accordance to XEP-0420's rpad affix element.
getPubSubError (XMLNode stanza) → PubSubError
handleUnhandledStanza (XmppConnection conn, StanzaHandlerData data) → Future <void>
  Bounce a stanza if it was not handled by any manager. `conn` is the connection object to use for sending the stanza. `data` is the StanzaHandlerData of the unhandled stanza.
hashFromType (ScramHashType type) → HashAlgorithm
ioctetSortComparator (String a, String b) → int
  A sort comparator using the i;octet collation defined by RFC 4790
ioctetSortComparatorRaw (List <int> a, List <int> b) → int
mechanismNameFromType (ScramHashType type) → String
namespaceFromType (ScramHashType type) → String
parseDataForm (XMLNode x) → DataForm
  Parse a Data Form declaration.
parseSIMSElement (XMLNode node) → StatelessMediaSharingData
pbkdfBitsFromHash (ScramHashType type) → int
prepareHeaders (Map <String, String> headers) → Map <String, String>
  Prepares a list of headers by removing newlines from header names and values and also removes any headers that are not allowed by the XEP.
processStatelessFileSharingSources (XMLNode node, {bool checkXmlns = true}) → List <StatelessFileSharingSource>
  Finds the <sources> element in `node` and returns the list of StatelessFileSharingSources contained with it. If `checkXmlns` is true, then the sources element must also have an xmlns attribute of "urn:xmpp:sfs:0".</sources>
stanzaHandlerSortComparator (StanzaHandler a, StanzaHandler b) → int
unpackForwarded (XMLNode forwarded) → Stanza
  Extracts the message stanza from the <forwarded> node.</forwarded>

## Enums

Affiliation
ChatMarker
ChatState
ComponentToServerState
  The states the ComponentToServerNegotiator can be in.
ExplicitEncryptionType
HashFunction
MessageProcessingHint
NegotiatorState
  The state a negotiator is currently in
Role
RosterRemovalResult
Sasl2State
  The state of the SASL2 negotiation
ScramHashType
ScramState
SFSEncryptionType
XmppConnectionState
  The states the XmppConnection can be in

## Typedefs

ConnectionLostCallback = Future <void> Function()
  A callback function to be called when the connection to the server has been lost.
DiscoInfoRequestCallback = Future <DiscoInfo> Function()
  Callback that is called when a disco#info requests is received on a given node.
DiscoItemsRequestCallback = Future <List <DiscoItem>> Function()
  Callback that is called when a disco#items requests is received on a given node.
ErrorCallback = Future <void> Function(XmppError)
  A callback for the case that an error occurs while negotiating.
GetConnectionSettingsFunction = ConnectionSettings Function()
  Returns the connection settings.
GetOmemoManagerCallback = Future <OmemoManager> Function()
  A callback that is executed whenever we need to acquire the OmemoManager backing the manager.
IsAuthenticatedFunction = bool Function()
  Return true if the current connection is authenticated. If not, return false.
MessageSendingCallback = List <XMLNode> Function(TypedMap <StanzaHandlerExtension>)
  A callback that is called whenever a message is sent using MessageManager.sendMessage. The input the typed map that is passed to sendMessage.
MUCRoomJoin = (JID, String)
  (Room JID, nickname)
NegotiationsDoneCallback = Future <void> Function()
  A callback for when the NegotiationsHandler is done.
PendingMessage = (String, String?)
  The used message-id and an optional origin-id.
PerformReconnectFunction = Future <void> Function()
  A function that, when called, causes the XmppConnection to connect to the server, if another reconnection is not already running.
PresencePreSendCallback = Future <List <XMLNode>> Function()
  A function that will be called when presence, outside of subscription request management, will be sent. Useful for managers that want to add XMLNodes to said presence.
ResetStreamParserFunction = void Function()
  Resets the stream parser's state.
SendNonzaFunction = void Function(XMLNode)
  Send a nonza on the stream
ShouldEncryptStanzaCallback = Future <bool> Function(JID toJid, Stanza stanza)
  A callback for figuring out whether a stanza should be encrypted or not. Note that returning true here does not necessarily mean that a stanza gets encrypted because handlers can indicate that a stanza should not be encrypted, e.g. PubSub.
StanzaAckedCallback = bool Function(Stanza stanza)

## Exceptions / Errors

EncryptionFailedException
InvalidAffiliationException
InvalidAffixElementsException
InvalidEnvelopePayloadException
InvalidRoleException