Smack 4.5.0-alpha3-SNAPSHOT API

Overview

Smack is a library for client-to-server XMPP connections to perform real-time communications and data exchange. This includes, but is not limited to, instant messaging and group chat. More generically speaking, it allows you to easily exchange data in various ways: For example fire-and-forget, publish-subscribe, between human and non-human endpoints. The use cases include M2M, IoT, and many more.

Smack is a pure Java library, open-source and highly modular. It runs on Android and Java SE. The API strives to be easy to use but yet powerful.

Key Advantages

Smack is extremely simple to use, yet provides a powerful API. Sending a text message to a user can be accomplished in only a few lines of code.

AbstractXMPPConnection connection = new XMPPTCPConnection("mtucker", "password", "jabber.org");
connection.connect().login();

Message message = connection.getStanzaFactory()
   .buildMessageStanza()
   .to("jsmith@igniterealtime.org")
   .setBody("Howdy! How are you?")
   .build();

connection.sendStanza(message);

connection.disconnect();

Smack doesn't force you to code at the protcol level of XMPP. The library provides intelligent higher level constructs, often called Manager, which let you program more efficiently. Other examples of those constructs are the Chat and Roster classes.

Smack comes with APIs for easy machine-to-machine communication. You can set any number of properties on each message, including properties that are Java objects.

License

Smack is open-source and most parts are under the Apache License 2.0, which means you can incorporate Smack into your commercial or non-commercial applications. Some parts of Smack may be under a different open-source license. Please refer to the individual subprojects for their license statement.

Note that the Apache License 2.0 requires that the contents of a NOICE text file are shown "…within a display generated by the Derivative Works, if and wherever such third-party notices normally appear.". Smack comes with such a NOTICE file. The content of Smack's NOTICE file can conveniently be retrieved using Smack.getNoticeStream().

About XMPP

XMPP (eXtensible Messaging and Presence Protocol) is an open protocol standardized by the Internet Engineering Task Force (IETF) and supported and extended by the XMPP Standards Foundation (XSF).

Smack Modules

Smack is meant to be easily embedded into any existing Java application. The library ships as several modules to provide more flexibility over which features applications require.

  • smack-core -- provides core XMPP functionality. All XMPP features that are part of the XMPP RFCs are included.
  • smack-im -- provides functionality defined in RFC 6121 (XMPP-IM), like the Roster.
  • smack-tcp -- support for XMPP over TCP. Includes XMPPTCPConnection class, which you usually want to use
  • smack-extensions -- support for many of the extensions (XEPs) defined by the XMPP Standards Foundation, including multi-user chat, file transfer, user search, etc. The extensions are documented in the [extensions manual](extensions/index.md).
  • smack-experimental -- support for experimental extensions (XEPs) defined by the XMPP Standards Foundation. The API and functionality of those extensions should be considered as unstable.
  • smack-legacy -- support for legacy extensions (XEPs) defined by the XMPP Standards Foundation.
  • smack-bosh -- support for BOSH (XEP-0124). This code should be considered as beta.
  • smack-resolver-minidns -- support for resolving DNS SRV records with the help of MiniDNS. Ideal for platforms that do not support the javax.naming API. Also supports [DNSSEC](dnssec.md) TODO: Fix link.
  • smack-resolver-dnsjava -- support for resolving DNS SRV records with the help of dnsjava.
  • smack-resolver-javax -- support for resolving DNS SRV records with the javax namespace API.
  • smack-debug -- an enhanced GUI debugger for protocol traffic. It will automatically be used when found in the classpath and when [debugging](debugging.md) is enabled.

Main API Entry Points

Smack Extensions

Since the X in XMPP stands for eXstensible, Smack comes with many built-in extensions for XMPP. Click

org.jivesoftware.smackx

for an overview of all supporteted XMPP extensions of Smack.

Some selected extensions are

Configuration

Smack has an initialization process that involves 2 phases.

  • Initializing system properties - Initializing all the system properties accessible through the class **SmackConfiguration**. These properties are retrieved by the _getXXX_ methods on that class.
  • Initializing startup classes - Initializing any classes meant to be active at startup by instantiating the class, and then calling the _initialize_ method on that class if it extends **SmackInitializer**. If it does not extend this interface, then initialization will have to take place in a static block of code which is automatically executed when the class is loaded.

Initialization is accomplished via a configuration file. By default, Smack will load the one embedded in the Smack jar at _org.jivesoftware.smack/smack- config.xml_. This particular configuration contains a list of initializer classes to load. All manager type classes that need to be initialized are contained in this list of initializers.

Packages 
Package Description
org.igniterealtime.smack.examples
Examples and tests for Smack.
org.igniterealtime.smack.smackrepl
A REPL (Read Eval Print Loop) for Smack.
org.jivesoftware.smack
Core classes of the Smack API.
org.jivesoftware.smack.altconnections
org.jivesoftware.smack.android
Android specific Smack code.
org.jivesoftware.smack.bind2
Classes and interfaces for Bind 2.0 (XEP-0386).
org.jivesoftware.smack.bosh
Smack's API for BOSH (XEP-206, XEP-124).
org.jivesoftware.smack.c2s
Smack's (new) API for client-to-server (c2s) connections.
org.jivesoftware.smack.c2s.internal
Smack's internal API for client-to-server (c2s) connections.
org.jivesoftware.smack.chat
Smacks legacy API for 1:1 chats.
org.jivesoftware.smack.chat2
Smack's new improved API for 1:1 chats.
org.jivesoftware.smack.compress.packet
Stanzas and extension elements for XMPP stream compression (XEP-138).
org.jivesoftware.smack.compress.provider
Providers for XMPP stream compression (XEP-138).
org.jivesoftware.smack.compression
Smack classes for compression.
org.jivesoftware.smack.compression.zlib
Smack classes for compression (XEP-0138) using zlib (RFC 1950).
org.jivesoftware.smack.datatypes
Custom datatypes for Integers.
org.jivesoftware.smack.debugger
Smack includes built-in debugging consoles that will let you track all XML traffic between the client and server.
org.jivesoftware.smack.experimental
Classes especially for smack-experimental.
org.jivesoftware.smack.extensions
Smacks initializer for extensions.
org.jivesoftware.smack.filter
Allows StanzaCollector and StanzaListener instances to filter for stanzas with particular attributes.
org.jivesoftware.smack.filter.jidtype
Filter based on the type of an XMPP address.
org.jivesoftware.smack.fsm
Smack's Finite State Machine to handle the login logic.
org.jivesoftware.smack.full
The Smack XMPP client library.
org.jivesoftware.smack.im
Internal classes for smack-im.
org.jivesoftware.smack.initializer
Code used to initialize Smack.
org.jivesoftware.smack.internal
Smack internal classes and interfaces.
org.jivesoftware.smack.iqrequest
Smack's IQ request handler API.
org.jivesoftware.smack.isr
Classes and interfaces for Instant Stream Resumption (ISR) (XEP-0397).
org.jivesoftware.smack.java7
Java7 related classes.
org.jivesoftware.smack.legacy
TODO describe me.
org.jivesoftware.smack.packet
XML stanzas and extension elements that are part of the XMPP protocol.
org.jivesoftware.smack.packet.id
Helper classes for Stanza IDs.
org.jivesoftware.smack.parsing
Auxiliary classes for XMPP parsing.
org.jivesoftware.smack.provider
The Smack provider architecture is a system for plugging in custom XML parsing of staza extensions (ExtensionElement, IQ stanzas and Nonza.
org.jivesoftware.smack.proxy
Support for XMPP connections over Proxies.
org.jivesoftware.smack.roster
Smacks API for Rosters.
org.jivesoftware.smack.roster.packet
Element classes for Rosters.
org.jivesoftware.smack.roster.provider
Provider classes for Rosters.
org.jivesoftware.smack.roster.rosterstore
Persistence classes for Rosters.
org.jivesoftware.smack.sasl
Classes and interfaces for SASL based XMPP authentication.
org.jivesoftware.smack.sasl.core
SASL mechanisms provided by Smack Core.
org.jivesoftware.smack.sasl.javax
A javax SASL implementation for Smack.
org.jivesoftware.smack.sasl.packet
Stanzas, plain stream- and extension elements for SASL.
org.jivesoftware.smack.sasl.provided
A SASL implementation for Smack.
org.jivesoftware.smack.sm
Smack's implementation of XEP-0198: Stream Management.
org.jivesoftware.smack.sm.packet
Plain stream elements for XEP-0198: Stream Management.
org.jivesoftware.smack.sm.predicates
Predicates for requesting Stream Management acknowledgements.
org.jivesoftware.smack.sm.predicates.tcp
XMPPTCPConnection Stream Managment Predicates.
org.jivesoftware.smack.sm.provider
Providers for XEP-0198: Stream Management.
org.jivesoftware.smack.tcp
TCP-IP related classes for Smack.
org.jivesoftware.smack.tcp.rce
Smack's internal API for XMPP connections over TCP.
org.jivesoftware.smack.util
Utility classes.
org.jivesoftware.smack.util.dns
Smack's API for DNS related tasks.
org.jivesoftware.smack.util.dns.dnsjava
A Java DNS resolver implementation for Smack.
org.jivesoftware.smack.util.dns.javax
A javax DNS resolver implementation for Smack.
org.jivesoftware.smack.util.dns.minidns
A MiniDNS resolver implementation for Smack.
org.jivesoftware.smack.util.rce
Utility classes for Remote Connection Endpoints (RCE).
org.jivesoftware.smack.util.stringencoder
Stringencoder utilities.
org.jivesoftware.smack.util.stringencoder.android
TODO describe me.
org.jivesoftware.smack.util.stringencoder.java7
Java7 related classes for Smacks Base64 implementation.
org.jivesoftware.smack.websocket
WebSocket related classes for Smack.
org.jivesoftware.smack.websocket.elements
This package contains Stanzas required to open and close stream.
org.jivesoftware.smack.websocket.impl
This package contains websocket implementations to be plugged inside websocket transport.
org.jivesoftware.smack.websocket.java11
WebSocket support for Smack using WebSocket, which is available since Java 11.
org.jivesoftware.smack.websocket.okhttp
Copyright 2020 Aditya Borikar Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
org.jivesoftware.smack.websocket.rce
This package contains websocket endpoint classes needed by the websocket transport.
org.jivesoftware.smack.xml
Classes for XML handling.
org.jivesoftware.smack.xml.stax
Classes for XML handling using StAX (Streaming API for XML, JSR 173).
org.jivesoftware.smack.xml.xpp3
Classes for XML handling using XPP3 (XML Pull Parser 3).
org.jivesoftware.smackx
Smack's API for XMPP extensions.
org.jivesoftware.smackx.address
Smack's API for XEP-0033: Extended Stanza Addressing.
org.jivesoftware.smackx.address.packet
Stanzas and extension elements for XEP-0033: Extended Stanzas Addressing.
org.jivesoftware.smackx.address.provider
Providers for XEP-0033: Extended Stanza Addressing.
org.jivesoftware.smackx.admin
Smack's API for XEP-0133: Service Administration.
org.jivesoftware.smackx.amp
Smack's API for XEP-0079: Advanced Message Processing.
org.jivesoftware.smackx.amp.packet
Stanzas and extension elements for XEP-0079: Advanced Message Processing.
org.jivesoftware.smackx.amp.provider
Providers for XEP-0079: Advanced Message Processing.
org.jivesoftware.smackx.attention.packet
Stanzas and extension elements for XEP-0224: Attention.
org.jivesoftware.smackx.blocking
Classes and interfaces of Blocking command.
org.jivesoftware.smackx.blocking.element
Blocking command elements.
org.jivesoftware.smackx.blocking.provider
Blocking command providers.
org.jivesoftware.smackx.bob
Classes and interfaces of XEP-0231: Bits of Binary.
org.jivesoftware.smackx.bob.element
Bits of Binary elements.
org.jivesoftware.smackx.bob.provider
Bits of Binary providers.
org.jivesoftware.smackx.bookmarks
Smack's API for XEP-0048: Bookmarks.
org.jivesoftware.smackx.bytestreams
Smack's API for XEP-0065: SOCKS5 Bytestreams, as well as XEP-0047: In-Band Bytestreams.
org.jivesoftware.smackx.bytestreams.ibb
Smack's API for XEP-0047: In-Band Bytestreams.
org.jivesoftware.smackx.bytestreams.ibb.packet
Stanzas and extension elements for XEP-0047: In-Band Bytestreams.
org.jivesoftware.smackx.bytestreams.ibb.provider
Providers for XEP-0047: In-Band Bytestreams.
org.jivesoftware.smackx.bytestreams.socks5
Smack's API for XEP-0065: SOCKS5 Bytestreams.
org.jivesoftware.smackx.bytestreams.socks5.packet
Stanzas and extension elements for XEP-0065: SOCKS5 Bytestreams.
org.jivesoftware.smackx.bytestreams.socks5.provider
Providers for XEP-0065: SOCKS5 Bytestreams.
org.jivesoftware.smackx.caps
Smacks implementation of XEP-0115: Entity Capabilities, see EntityCapsManager for more information.
org.jivesoftware.smackx.caps.cache
Cache classes for XEP-0115: Entity Capabilities.
org.jivesoftware.smackx.caps.packet
Element classes for XEP-0115: Entity Capabilities.
org.jivesoftware.smackx.caps.provider
Provider classes for XEP-0115: Entity Capabilities.
org.jivesoftware.smackx.carbons
Smack's API for XEP-0280: Message Carbons.
org.jivesoftware.smackx.carbons.packet
Stanzas and extension elements for XEP-0280: Message Carbons.
org.jivesoftware.smackx.carbons.provider
Provider for XEP-0280: Message Carbons.
org.jivesoftware.smackx.chat_markers
XEP-0333: Chat Markers.
org.jivesoftware.smackx.chat_markers.element
Chat Markers elements (XEP-0333).
org.jivesoftware.smackx.chat_markers.filter
Chat Markers elements (XEP-0333).
org.jivesoftware.smackx.chat_markers.provider
Chat Markers providers (XEP-0333).
org.jivesoftware.smackx.chatstates
Classes for Chat States (XEP-0085).
org.jivesoftware.smackx.chatstates.packet
Element classes for XEP-0085: Chat State Notifications.
org.jivesoftware.smackx.chatstates.provider
Provider classes for XEP-0085: Chat State Notifications.
org.jivesoftware.smackx.colors
Smack's API for XEP-0392: Consistent Color Generation.
org.jivesoftware.smackx.commands
Smacks implementation of XEP-0050: Ad-Hoc Commands.
org.jivesoftware.smackx.commands.packet
Element classes for XEP-0050: Ad-Hoc Commands.
org.jivesoftware.smackx.commands.provider
Provider classes for XEP-0050: Ad-Hoc Commands.
org.jivesoftware.smackx.csi
Smack's API for XEP-0352: Client State Indication.
org.jivesoftware.smackx.csi.packet
Plain stream elements for XEP-0352: Client State Indication.
org.jivesoftware.smackx.csi.provider
Provider for XEP-0352: Client State Indication.
org.jivesoftware.smackx.debugger
Smack optional Debuggers, which include EnhancedDebugger and LiteDebugger.
org.jivesoftware.smackx.debugger.android
Android classes for debugging purposes.
org.jivesoftware.smackx.debugger.slf4j
Smack slf4j debugger implementation.
org.jivesoftware.smackx.delay
Smacks implementation of XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery.
org.jivesoftware.smackx.delay.filter
StanzaFilter classes for XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery.
org.jivesoftware.smackx.delay.packet
Element classes for XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery.
org.jivesoftware.smackx.delay.provider
Provider classes for XEP-0203: Delayed Delivery, as well as XEP-0091: Legacy Delayed Delivery.
org.jivesoftware.smackx.disco
Smack's API for Service Discovery (XEP-0030).
org.jivesoftware.smackx.disco.packet
Element classes for XEP-0030: Service Discovery.
org.jivesoftware.smackx.disco.provider
Provider classes for XEP-0030: Service Discovery.
org.jivesoftware.smackx.dox
Smack's API for XEP-0418: DNS Queries over XMPP (Dox).
org.jivesoftware.smackx.dox.element
XEP-0418: DNS Queries over XMPP (DoX) XML providers.
org.jivesoftware.smackx.dox.provider
XEP-0418: DNS Queries over XMPP (DoX) XML providers.
org.jivesoftware.smackx.dox.resolver.minidns
XEP-0418: DNS Queries over XMPP (Dox) using MiniDNS.
org.jivesoftware.smackx.eme
Smack's API for XEP-0380: Explicit Message Encryption.
org.jivesoftware.smackx.eme.element
XMPP extension elements for XEP-0380: Explicit Message Encryption.
org.jivesoftware.smackx.eme.provider
Smack Provider for XEP-0380: Explicit Message Encryption.
org.jivesoftware.smackx.fallback_indication
Smack's API for XEP-0428: Fallback Indication.
org.jivesoftware.smackx.fallback_indication.element
Smack's API for XEP-0428: Fallback Indication.
org.jivesoftware.smackx.fallback_indication.provider
Smack's API for XEP-0428: Fallback Indication.
org.jivesoftware.smackx.file_metadata.element
Smacks implementation of XEP-0446: File Metadata Element.
org.jivesoftware.smackx.file_metadata.provider
File metadata element provider.
org.jivesoftware.smackx.filetransfer
Smack's API for File Transfers.
org.jivesoftware.smackx.formtypes
Smack's implementation of XEP-0068: Field Standardization for Data Forms.
org.jivesoftware.smackx.forward.packet
Element classes for XEP-0297: Stanza Forwarding.
org.jivesoftware.smackx.forward.provider
Provider classes for XEP-0297: Stanza Forwarding.
org.jivesoftware.smackx.gcm.packet
Extension elements for the GCM XMPP extension.
org.jivesoftware.smackx.gcm.provider
Provider the GCM XMPP extension.
org.jivesoftware.smackx.geoloc
Smacks implementation of XEP-0080: User Location.
org.jivesoftware.smackx.geoloc.packet
Element classes for XEP-0080: User Location.
org.jivesoftware.smackx.geoloc.provider
Provider classes for XEP-0080: User Location.
org.jivesoftware.smackx.hashes
XEP-0300 - Use of cryptographic hash functions.
org.jivesoftware.smackx.hashes.element
XEP-0300 - Use of cryptographic hash functions.
org.jivesoftware.smackx.hashes.provider
XEP-0300 - Use of cryptographic hash functions.
org.jivesoftware.smackx.hints
Smack's API for XEP-0334: Message Processing Hints.
org.jivesoftware.smackx.hints.element
XMPP extension elements for XEP-0334: Message Processing Hints.
org.jivesoftware.smackx.hints.provider
Smack Provider for XEP-0334: Message Processing Hints.
org.jivesoftware.smackx.hoxt
Smack's API for XEP-0332: HTTP over XMPP transport.
org.jivesoftware.smackx.hoxt.packet
Stanzas and extension elements for XEP-0332: HTTP over XMPP transport.
org.jivesoftware.smackx.hoxt.provider
Providers for XEP-0332: HTTP over XMPP transport.
org.jivesoftware.smackx.httpfileupload
Smack's API for XEP-0363: HTTP File Upload.
org.jivesoftware.smackx.httpfileupload.element
IQ stanzas and extensions for XEP-0363: HTTP File Upload.
org.jivesoftware.smackx.httpfileupload.provider
Providers for XEP-0363: HTTP File Upload.
org.jivesoftware.smackx.iot
Smack's API for XMPP IoT (XEP-0323, -0324, -0325, -0347).
org.jivesoftware.smackx.iot.control
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.control.element
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.control.provider
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.data
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.data.element
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.data.filter
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.data.provider
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.discovery
Smack's API for XMPP IoT XEP-0347 Discovery.
org.jivesoftware.smackx.iot.discovery.element
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.discovery.provider
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.element
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.parser
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.provisioning
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.provisioning.element
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iot.provisioning.provider
Smack's API for XMPP IoT.
org.jivesoftware.smackx.iqlast
Smacks implementation of XEP-0012: Last Activity.
org.jivesoftware.smackx.iqlast.packet
Element classes for XEP-0012: Last Activity.
org.jivesoftware.smackx.iqprivate
Smacks implementation of XEP-0049: Private XML Storage.
org.jivesoftware.smackx.iqprivate.packet
Element classes for XEP-0049: Private XML Storage.
org.jivesoftware.smackx.iqprivate.provider
Provider classes for XEP-0049: Private XML Storage.
org.jivesoftware.smackx.iqregister
Smacks implementation of XEP-0077: In-Band Registration.
org.jivesoftware.smackx.iqregister.packet
Element classes for XEP-0077: In-Band Registration.
org.jivesoftware.smackx.iqregister.provider
Provider classes for XEP-0077: In-Band Registration.
org.jivesoftware.smackx.iqversion
Smacks implementation of XEP-0092: Software Version.
org.jivesoftware.smackx.iqversion.packet
Element classes for XEP-0092: Software Version.
org.jivesoftware.smackx.iqversion.provider
Provider classes for XEP-0092: Software Version.
org.jivesoftware.smackx.jid_prep
Smack's API for XEP-0328: JID Prep.
org.jivesoftware.smackx.jid_prep.element
XML elements for XEP-0328: JID Prep.
org.jivesoftware.smackx.jid_prep.provider
Providers for XEP-0328: JID Prep.
org.jivesoftware.smackx.jingle
Smack's API for XEP-0166: Jingle.
org.jivesoftware.smackx.jingle_filetransfer
org.jivesoftware.smackx.jingle_filetransfer.element
org.jivesoftware.smackx.jingle_filetransfer.provider
org.jivesoftware.smackx.jingle.element
Stanzas and Extension Elements for XEP-0166: Jingle.
org.jivesoftware.smackx.jingle.provider
Providers and parsers for XEP-0166: Jingle.
org.jivesoftware.smackx.jingle.transports
org.jivesoftware.smackx.jingle.transports.jingle_ibb
org.jivesoftware.smackx.jingle.transports.jingle_ibb.element
org.jivesoftware.smackx.jingle.transports.jingle_ibb.provider
org.jivesoftware.smackx.jingle.transports.jingle_s5b
org.jivesoftware.smackx.jingle.transports.jingle_s5b.elements
org.jivesoftware.smackx.jingle.transports.jingle_s5b.provider
org.jivesoftware.smackx.jingleold
TODO describe me.
org.jivesoftware.smackx.jingleold.listeners
TODO describe me.
org.jivesoftware.smackx.jingleold.media
TODO describe me.
org.jivesoftware.smackx.jingleold.mediaimpl
TODO describe me.
org.jivesoftware.smackx.jingleold.mediaimpl.jmf
TODO describe me.
org.jivesoftware.smackx.jingleold.mediaimpl.jspeex
TODO describe me.
org.jivesoftware.smackx.jingleold.mediaimpl.multi
TODO describe me.
org.jivesoftware.smackx.jingleold.mediaimpl.sshare
TODO describe me.
org.jivesoftware.smackx.jingleold.mediaimpl.sshare.api
TODO describe me.
org.jivesoftware.smackx.jingleold.mediaimpl.test  
org.jivesoftware.smackx.jingleold.nat
TODO describe me.
org.jivesoftware.smackx.jingleold.packet
TODO describe me.
org.jivesoftware.smackx.jingleold.provider
TODO describe me.
org.jivesoftware.smackx.jiveproperties
Smacks implementation for attaching arbitrary properties to packets according to https://docs.jivesoftware.com/smack/latest/documentation/properties.html.
org.jivesoftware.smackx.jiveproperties.packet
Element classes.
org.jivesoftware.smackx.jiveproperties.provider
Provider classes.
org.jivesoftware.smackx.json.packet
Extension elements for XEP-0295: JSON Encodings for XMPP.
org.jivesoftware.smackx.json.provider
Providers for XEP-0295: JSON Encodings for XMPP.
org.jivesoftware.smackx.last_interaction.element
Element classes for XEP-0319: Last User Interaction in Presence.
org.jivesoftware.smackx.last_interaction.provider
Provider classes for XEP-0319: Last User Interaction in Presence.
org.jivesoftware.smackx.mam
XEP-0313: Message Archive Management.
org.jivesoftware.smackx.mam.element
Packet classes and interfaces for Message Archive Management (MAM) XEP-0313.
org.jivesoftware.smackx.mam.filter
Filters of Message Archive Management (MAM) XEP-0313.
org.jivesoftware.smackx.mam.provider
Provider classes of Message Archive Management (MAM) XEP-0313.
org.jivesoftware.smackx.mediaelement
Smacks implementation of XEP-0221: Data Forms Media Element.
org.jivesoftware.smackx.mediaelement.element
Element classes for XEP-0221: Data Forms Media Element.
org.jivesoftware.smackx.mediaelement.provider
Provider classes for XEP-0221: Data Forms Media Element.
org.jivesoftware.smackx.message_correct.element
XMPP stream elements for Last Message Correction as defined in XEP-0308.
org.jivesoftware.smackx.message_correct.provider
XMPP stream element providers for Last Message Correction as defined in XEP-0308.
org.jivesoftware.smackx.message_fastening
XEP-0422: Message Fastening.
org.jivesoftware.smackx.message_fastening.element
XEP-0422: Message Fastening.
org.jivesoftware.smackx.message_fastening.provider
XEP-0422: Message Fastening.
org.jivesoftware.smackx.message_markup.element
Smack's API for XEP-0394: Message Markup, which can be used to style message.
org.jivesoftware.smackx.message_markup.provider
XEP-0394: Message Markup.
org.jivesoftware.smackx.message_retraction
XEP-0424: Message Retraction.
org.jivesoftware.smackx.message_retraction.element
XEP-0424: Message Retraction.
org.jivesoftware.smackx.message_retraction.provider
XEP-0424: Message Retraction.
org.jivesoftware.smackx.mood
Smack's API for XEP-0107: User Mood.
org.jivesoftware.smackx.mood.element
Smack's API for XEP-0107: User Mood.
org.jivesoftware.smackx.mood.provider
Smack's API for XEP-0107: User Mood.
org.jivesoftware.smackx.muc
Smack API for Multi-User Chat (MUC, XEP-0045).
org.jivesoftware.smackx.muc.bookmarkautojoin
Manager to autojoin bookmarked Multi-User Chat conferences.
org.jivesoftware.smackx.muc.filter
Stanza filters for Multi-User Chat.
org.jivesoftware.smackx.muc.packet
Element classes for XEP-0045: Multi-User Chat.
org.jivesoftware.smackx.muc.provider
Provider classes for XEP-0045: Multi-User Chat.
org.jivesoftware.smackx.muclight
Classes and Interfaces that implement Multi-User Chat Light (MUC Light).
org.jivesoftware.smackx.muclight.element
Multi-User Chat Light (MUC Light) elements.
org.jivesoftware.smackx.muclight.provider
Multi-User Chat Light (MUC Light) providers.
org.jivesoftware.smackx.nick.packet
Element classes for XEP-0172: User Nickname.
org.jivesoftware.smackx.nick.provider
Providers for XEP-0172: User Nickname.
org.jivesoftware.smackx.offline
Smacks implementation of XEP-0013: Flexible Offline Message Retrieval.
org.jivesoftware.smackx.offline.packet
Element classes for XEP-0013: Flexible Offline Message Retrieval.
org.jivesoftware.smackx.omemo
Classes and interfaces for OMEMO Encryption.
org.jivesoftware.smackx.omemo.element
Classes that represent OMEMO related stanzas.
org.jivesoftware.smackx.omemo.exceptions
Exceptions.
org.jivesoftware.smackx.omemo.internal
Classes that are used internally to arrange objects.
org.jivesoftware.smackx.omemo.internal.listener
StanzaListeners used for internal purposes.
org.jivesoftware.smackx.omemo.listener
Callbacks and listeners.
org.jivesoftware.smackx.omemo.provider
Provider classes that parse OMEMO related stanzas into objects.
org.jivesoftware.smackx.omemo.signal
Concrete implementation of OMEMO for smack using the signal-protocol-java library.
org.jivesoftware.smackx.omemo.trust
Callbacks used to pass trust decisions up to the client.
org.jivesoftware.smackx.omemo.util
Helper classes and other stuff.
org.jivesoftware.smackx.ox
Smack API for XEP-0373: OpenPGP for XMPP.
org.jivesoftware.smackx.ox_im
Smack API for XEP-0374: OpenPGP for XMPP: Instant Messaging.
org.jivesoftware.smackx.ox.callback
Callback classes for XEP-0373: OpenPGP for XMPP.
org.jivesoftware.smackx.ox.callback.backup
Callback classes Secret key backups.
org.jivesoftware.smackx.ox.crypto
Crypto Providers for XEP-0373: OpenPGP for XMPP using Bouncycastle.
org.jivesoftware.smackx.ox.element
XML elements for XEP-0373: OpenPGP for XMPP.
org.jivesoftware.smackx.ox.exception
Exceptions for XEP-0373: OpenPGP for XMPP.
org.jivesoftware.smackx.ox.listener
Internal OpenPgpContentElement listeners for XEP-0373: OpenPGP for XMPP.
org.jivesoftware.smackx.ox.provider
Providers for XEP-0373: OpenPGP for XMPP.
org.jivesoftware.smackx.ox.store.abstr
Abstract OpenPGP store implementations.
org.jivesoftware.smackx.ox.store.definition
OpenPgp store class definitions.
org.jivesoftware.smackx.ox.store.filebased
File based store implementations.
org.jivesoftware.smackx.ox.util
Utility classes for XEP-0373: OpenPGP for XMPP.
org.jivesoftware.smackx.pep
Smacks implementation XEP-0163: Personal Eventing Protocol.
org.jivesoftware.smackx.ping
Smacks implementation of XEP-0199: XMPP Ping.
org.jivesoftware.smackx.ping.android
Android classes for XEP-0199: XMPP Ping.
org.jivesoftware.smackx.ping.packet
Element classes for XEP-0199: XMPP Ping.
org.jivesoftware.smackx.ping.provider
Provider classes for XEP-0199: XMPP Ping.
org.jivesoftware.smackx.privacy
Smacks implementation of XEP-0016: Privacy Lists.
org.jivesoftware.smackx.privacy.filter
Filters for XEP-0016: Privacy Lists.
org.jivesoftware.smackx.privacy.packet
Element classes for XEP-0016: Privacy Lists.
org.jivesoftware.smackx.privacy.provider
Provider classes for XEP-0016: Privacy Lists.
org.jivesoftware.smackx.pubsub
Smack's API for XEP-0060: Publish-Subscribe.
org.jivesoftware.smackx.pubsub.filter
Filters for Publish-Subscribe (XEP-60).
org.jivesoftware.smackx.pubsub.form
Smack's implementation of Data Forms (XEP-0004) for PubSub.
org.jivesoftware.smackx.pubsub.listener
Listeners for Publish-Subscribe (XEP-60) events.
org.jivesoftware.smackx.pubsub.packet
Stanzas and extension elements for Publish-Subscribe (XEP-60).
org.jivesoftware.smackx.pubsub.provider
Providers for Publish-Subscribe (XEP-60).
org.jivesoftware.smackx.pubsub.util
Utilities for Publish-Subscribe (XEP-60).
org.jivesoftware.smackx.push_notifications
Classes and interfaces to manage Push Notifications (XEP-0357).
org.jivesoftware.smackx.push_notifications.element
Push Notifications elements (XEP-0357).
org.jivesoftware.smackx.push_notifications.provider
Push Notifications providers (XEP-0357).
org.jivesoftware.smackx.receipts
XEP-0184: Message Delivery Receipts.
org.jivesoftware.smackx.reference
Smack's API for XEP-0372: References.
org.jivesoftware.smackx.reference.element
Smack's API for XEP-0372: References.
org.jivesoftware.smackx.reference.provider
Smack's API for XEP-0372: References.
org.jivesoftware.smackx.rsm
XEP-0059: Result Set Management.
org.jivesoftware.smackx.rsm.packet
Element classes of XEP-0059: Result Set Management.
org.jivesoftware.smackx.rsm.provider
Providers for XEP-0059: Result Set Management.
org.jivesoftware.smackx.search
Smacks implementation of XEP-0055: Jabber Search.
org.jivesoftware.smackx.sharedgroups
Implementation of shared groups.
org.jivesoftware.smackx.sharedgroups.packet
Element classes of shared groups.
org.jivesoftware.smackx.shim.packet
Element classes for XEP-0131: Stanza Headers and Internet Metadata.
org.jivesoftware.smackx.shim.provider
Provider classes of XEP-0131: Stanza Headers and Internet Metadata.
org.jivesoftware.smackx.si.packet
Element classes for XEP-0095: Stream Initiation.
org.jivesoftware.smackx.si.provider
Provider classes for XEP-0095: Stream Initiation.
org.jivesoftware.smackx.sid
Smack's API for XEP-0359: Stable and Unique Stanza IDs.
org.jivesoftware.smackx.sid.element
Smack's API for XEP-0359: Stable and Unique Stanza IDs.
org.jivesoftware.smackx.sid.provider
Smack's API for XEP-0359: Stable and Unique Stanza IDs.
org.jivesoftware.smackx.softwareinfo
Smacks implementation of XEP-0232: Software Information.
org.jivesoftware.smackx.softwareinfo.form
Form class needed for XEP-0232: Software Information.
org.jivesoftware.smackx.spoiler
Smack's API for XEP-0382: Spoiler Messages, that can be used to indicate that the body of a message is a spoiler and should be displayed as such.
org.jivesoftware.smackx.spoiler.element
Smack's API for XEP-0382: Spoiler Messages.
org.jivesoftware.smackx.spoiler.provider
Smack's API for XEP-0382: Spoiler Messages.
org.jivesoftware.smackx.stanza_content_encryption.element
Smack's API for XEP-0420: Stanza Content Encryption: Element classes.
org.jivesoftware.smackx.stanza_content_encryption.provider
Smack's API for XEP-0420: Stanza Content Encryption: Provider classes.
org.jivesoftware.smackx.thumbnails.element
Smacks implementation of XEP-0264: Jingle Content Thumbnails.
org.jivesoftware.smackx.thumbnails.provider
Smacks implementation of XEP-0264: Jingle Content Thumbnails.
org.jivesoftware.smackx.time
Smacks implementation of XEP-0202: Entity Time.
org.jivesoftware.smackx.time.packet
Element classes of XEP-0202: Entity Time.
org.jivesoftware.smackx.time.provider
Provider classes of XEP-0202: Entity Time.
org.jivesoftware.smackx.urldata.element
Element classes for XEP-0103: URL Address Information.
org.jivesoftware.smackx.urldata.http.element
Element classes for XEP-0104.
org.jivesoftware.smackx.urldata.provider
Provider classes for XEP-0103: URL Address Information.
org.jivesoftware.smackx.usertune
Smack's API for XEP-0118: User Tune.
org.jivesoftware.smackx.usertune.element
Smack's API for XEP-0118: User Tune.
org.jivesoftware.smackx.usertune.provider
Smack's API for XEP-0118: User Tune.
org.jivesoftware.smackx.vcardtemp
Smacks implementation of XEP-0054: vcard-temp.
org.jivesoftware.smackx.vcardtemp.packet
Element classes for XEP-0054: vcard-temp.
org.jivesoftware.smackx.vcardtemp.provider
Provider classes for XEP-0054: vcard-temp.
org.jivesoftware.smackx.workgroup
TODO describe me.
org.jivesoftware.smackx.workgroup.agent
TODO describe me.
org.jivesoftware.smackx.workgroup.ext.forms
TODO describe me.
org.jivesoftware.smackx.workgroup.ext.history
TODO describe me.
org.jivesoftware.smackx.workgroup.ext.macros
TODO describe me.
org.jivesoftware.smackx.workgroup.ext.notes
TODO describe me.
org.jivesoftware.smackx.workgroup.packet
TODO describe me.
org.jivesoftware.smackx.workgroup.settings
TODO describe me.
org.jivesoftware.smackx.workgroup.user
TODO describe me.
org.jivesoftware.smackx.workgroup.util
TODO describe me.
org.jivesoftware.smackx.xdata
Smacks API for Data Forms (XEP-0004).
org.jivesoftware.smackx.xdata.form
Smacks high-level API for XEP-0004: Data Forms.
org.jivesoftware.smackx.xdata.packet
Element classes for XEP-0004: Data Forms.
org.jivesoftware.smackx.xdata.provider
Provider classes for XEP-0004: Data Forms.
org.jivesoftware.smackx.xdatalayout
Smacks implementation of XEP-0141: Data Forms Layout.
org.jivesoftware.smackx.xdatalayout.packet
Element classes for XEP-0141: Data Forms Layout.
org.jivesoftware.smackx.xdatalayout.provider
Provider classes for XEP-0141: Data Forms Layout.
org.jivesoftware.smackx.xdatavalidation
Smacks implementation of XEP-0122: Data Forms Validation.
org.jivesoftware.smackx.xdatavalidation.packet
Element classes for XEP-0122: Data Forms Validation.
org.jivesoftware.smackx.xdatavalidation.provider
Provider classes for XEP-0122: Data Forms Validation.
org.jivesoftware.smackx.xevent
TODO describe me.
org.jivesoftware.smackx.xevent.packet
TODO describe me.
org.jivesoftware.smackx.xevent.provider
TODO describe me.
org.jivesoftware.smackx.xhtmlim
Smacks implementation of XHTML-IM (XEP-0071), which provides the ability to send and receive formatted messages using XHTML.
org.jivesoftware.smackx.xhtmlim.packet
Element classes for XEP-0071: XHTML-IM.
org.jivesoftware.smackx.xhtmlim.provider
Provider classes for XEP-0071: XHTML-IM.
org.jivesoftware.smackx.xmlelement
Smacks implementation of XEP-0315: Data Forms XML Element.
org.jivesoftware.smackx.xmlelement.element
Element classes for XEP-0315: Data Forms XML Element.
org.jivesoftware.smackx.xmlelement.provider
Provider classes for XEP-0315: Data Forms XML Element.
org.jivesoftware.smackx.xroster
This extension is used to send rosters, roster groups and roster entries from one XMPP Entity to another.
org.jivesoftware.smackx.xroster.packet
TODO describe me.
org.jivesoftware.smackx.xroster.provider
TODO describe me.