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 element
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 element with a child <condition type="type" />. If text is not null, then the condition element will contain a element with text as the body.
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 element.
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 element we get after decrypting the payload. sender refers to the "to" attribute of the stanza. ourJid is our current full Jid.
constructHashElement(HashFunction hash, String value) XMLNode
Helper method for building a element according to XEP-0300.
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 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".
stanzaHandlerSortComparator(StanzaHandler a, StanzaHandler b) int
unpackForwarded(XMLNode forwarded) Stanza
Extracts the message stanza from the node.

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