org.jivesoftware.smackx.package-info Maven / Gradle / Ivy
/**
*
* Copyright 2015-2023 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Smack's API for XMPP extensions.
*
* The XMPP protocol includes a base protocol and many optional extensions typically documented as "XEPs". Smack
* provides the {@link org.jivesoftware.smack} package for the core XMPP protocol and the {@link org.jivesoftware.smackx
* package} for many of the protocol extensions.
*
*
* XEPs supported by Smack
*
* Name
* XEP
* Smack API
* Description
*
*
*
* Data Forms
* XEP-0004
* {@link org.jivesoftware.smackx.xdata}
* Allows to gather data using Forms.
*
*
* Last Activity
* XEP-0012
*
* Communicating information about the last activity associated with an XMPP entity.
*
*
* Flexible Offline Message Retrieval
* XEP-0013
*
* Extension for flexible, POP3-like handling of offline messages.
*
*
* Privacy Lists
* XEP-0016
* {@link org.jivesoftware.smackx.privacy}
* Enabling or disabling communication with other entities.
*
*
* Message Events
* XEP-0022
*
* Requests and responds to message events.
*
*
* Service Discovery
* XEP-0030
*
* Allows to discover services in XMPP entities.
*
*
* Extended Stanza Addressing
* XEP-0033
*
* Allows to include headers in stanzas in order to specify multiple recipients or sub-addresses.
*
*
* Multi User Chat
* XEP-0045
* {@link org.jivesoftware.smackx.muc}
* Allows configuration of, participation in, and administration of individual text-based conference rooms.
*
*
* In-Band Bytestreams
* XEP-0047
*
* Enables any two entities to establish a one-to-one bytestream between themselves using plain XMPP.
*
*
* Bookmarks
* XEP-0048
*
* Bookmarks, for e.g. MUC and web pages.
*
*
* Private Data
* XEP-0049
*
* Manages private data.
*
*
* Ad-Hoc Commands
* XEP-0050
*
* Advertising and executing application-specific commands.
*
*
* vcard-temp
* XEP-0054
*
* The vCard-XML format currently in use.
*
*
* Jabber Search
* XEP-0055
*
* Search information repositories on the XMPP network.
*
*
* Result Set Management
* XEP-0059
*
* Page through and otherwise manage the receipt of large result sets
*
*
* PubSub
* XEP-0060
*
* Generic publish and subscribe functionality.
*
*
* SOCKS5 Bytestreams
* XEP-0065
*
* Out-of-band bytestream between any two XMPP entities.
*
*
* Field Standardization for Data Forms
* XEP-0068
*
* Standardized field variables used in the context of jabber:x:data forms.
*
*
* XHTML-IM
* XEP-0071
*
* Allows send and receiving formatted messages using XHTML.
*
*
* In-Band Registration
* XEP-0077
*
* In-band registration with XMPP services.
*
*
* Advanced Message Processing
* XEP-0079
*
* Enables entities to request, and servers to perform, advanced processing of XMPP message stanzas.
*
*
* User Location
* XEP-0080
*
* Enabled communicating information about the current geographical or physical location of an entity.
*
*
* XMPP Date Time Profiles
* XEP-0082
*
* Standardization of Date and Time representation in XMPP.
*
*
* Chat State Notifications
* XEP-0085
*
* Communicating the status of a user in a chat session.
*
*
* Time Exchange
* XEP-0090
*
* Allows local time information to be shared between users.
*
*
* Software Version
* XEP-0092
*
* Retrieve and announce the software application of an XMPP entity.
*
*
* Roster Item Exchange
* XEP-0093
*
* Allows roster data to be shared between users.
*
*
* Stream Initiation
* XEP-0095
*
* Initiating a data stream between any two XMPP entities.
*
*
* SI File Transfer
* XEP-0096
*
* Transfer files between two users over XMPP.
*
*
* URL Address Information
* XEP-0103
* {@link org.jivesoftware.smackx.urldata.element}
* Provide information about an Uniform Resource Locator (URL), and a protocol signaling retrieval states.
*
*
* HTTP Scheme for URL Data
* XEP-0104
*
* A schema description for detailed information about HTTP URLs.
*
*
* User Mood
* XEP-0107
*
* Communicate the users current mood.
*
*
* Entity Capabilities
* XEP-0115
* {@link org.jivesoftware.smackx.caps.EntityCapsManager}
* Broadcasting and dynamic discovery of entity capabilities.
*
*
* User Tune
* XEP-0118
*
* Defines a payload format for communicating information about music to which a user is listening.
*
*
* Data Forms Validation
* XEP-0122
*
* Enables an application to specify additional validation guidelines.
*
*
* Stanza Headers and Internet Metadata (SHIM)
* XEP-0131
*
* Add Metadata Headers to Stanzas.
*
*
* Service Administration
* XEP-0133
*
* Recommended best practices for service-level administration of servers and components using Ad-Hoc Commands.
*
*
* Stream Compression
* XEP-0138
*
* Support for optional compression of the XMPP stream.
*
*
* Data Forms Layout
* XEP-0141
*
* Enables an application to specify form layouts.
*
*
* Discovering Alternative XMPP Connection Methods
* XEP-0156
*
* Defines ways to discover alternative connection methods.
*
*
* Personal Eventing Protocol
* XEP-0163
*
* Using the XMPP publish-subscribe protocol to broadcast state change events associated with an XMPP account.
*
*
* Jingle
* XEP-0166
*
* Initiate and manage sessions between two XMPP entities.
*
*
* User Nickname
* XEP-0172
*
* Communicate user nicknames.
*
*
* Message Delivery Receipts
* XEP-0184
*
* Extension for message delivery receipts. The sender can request notification that the message has been
* delivered.
*
*
* Blocking Command
* XEP-0191
* {@link org.jivesoftware.smackx.blocking.BlockingCommandManager}
* Communications blocking that is intended to be simpler than privacy lists (XEP-0016).
*
*
* Stream Management
* XEP-0198
*
* Allows active management of an XML Stream between two XMPP entities (stanza acknowledgement, stream
* resumption).
*
*
* XMPP Ping
* XEP-0199
*
* Sending application-level pings over XML streams.
*
*
* Entity Time
* XEP-0202
*
* Allows entities to communicate their local time
*
*
* Delayed Delivery
* XEP-0203
*
* Extension for communicating the fact that an XML stanza has been delivered with a delay.
*
*
* XMPP Over BOSH
* XEP-0206
*
* Use Bidirectional-streams Over Synchronous HTTP (BOSH) to transport XMPP stanzas.
*
*
* Data Forms Media Element
* XEP-0221
*
* Allows to include media data in XEP-0004 data forms.
*
*
* Attention
* XEP-0224
*
* Getting attention of another user.
*
*
* Bits of Binary
* XEP-0231
*
* Including or referring to small bits of binary data in an XML stanza.
*
*
* Software Information
* XEP-0232
*
* Allows an entity to provide detailed data about itself in Service Discovery responses.
*
*
* Roster Versioning
* XEP-0237
*
* Efficient roster synchronization.
*
*
* Direct MUC Invitations
* XEP-0249
*
* Allows sending a MUC invitation directly from the user to the contact with mediation by the room.
*
*
* Jingle Content Thumbnails
* XEP-0264
* {@link org.jivesoftware.smackx.thumbnails.element}
* Defines a way for a client to supply a preview image for Jingle content.
*
*
* Message Carbons
* XEP-0280
* {@link org.jivesoftware.smackx.carbons}
* Keep all IM clients for a user engaged in a conversation, by carbon-copy outbound messages to all interested
* resources.
*
*
* Best Practices for Resource Locking
* XEP-0296
*
* Specifies best practices to be followed by Jabber/XMPP clients about when to lock into, and unlock away from,
* resources.
*
*
* Stanza Forwarding
* XEP-0297
*
* Allows forwarding of Stanzas.
*
*
* Last Message Correction
* XEP-0308
*
* Provides a method for indicating that a message is a correction of the last sent message.
*
*
* Message Archive Management
* XEP-0313
*
* Query and control an archive of messages stored on a server.
*
*
* Data Forms XML Element
* XEP-0315
*
* Allows to include XML-data in XEP-0004 data forms.
*
*
* Last User Interaction in Presence
* XEP-0319
*
* Communicate time of last user interaction via XMPP presence notifications.
*
*
* Internet of Things - Sensor Data
* XEP-0323
*
* Sensor data interchange over XMPP.
*
*
* Internet of Things - Provisioning
* XEP-0324
*
* Provisioning, access rights and user privileges for the Internet of Things.
*
*
* Internet of Things - Control
* XEP-0325
*
* Describes how to control devices or actuators in an XMPP-based sensor network.
*
*
* Jid Prep
* XEP-0328
*
* Describes a way for an XMPP client to request an XMPP server to prep and normalize a given JID.
*
*
* HTTP over XMPP transport
* XEP-0332
* {@link org.jivesoftware.smackx.hoxt}
* Allows to transport HTTP communication over XMPP peer-to-peer networks.
*
*
* Chat Markers
* XEP-0333
*
* A solution of marking the last received, displayed and acknowledged message in a chat.
*
*
* Message Processing Hints
* XEP-0334
*
* Hints to entities routing or receiving a message.
*
*
* JSON Containers
* XEP-0335
*
* Encapsulation of JSON data within XMPP Stanzas.
*
*
* Internet of Things - Discovery
* XEP-0347
*
* Describes how Things can be installed and discovered by their owners.
*
*
* Data Forms Geolocation Element
* XEP-0350
*
* Allows to include XEP-0080 geolocation data in XEP-0004 data forms.
*
*
* Client State Indication
* XEP-0352
*
* A way for the client to indicate its active/inactive state.
*
*
* Push Notifications
* XEP-0357
*
* Defines a way to manage push notifications from an XMPP Server.
*
*
* Stable and Unique Stanza IDs
* XEP-0359
*
* This specification describes unique and stable IDs for messages.
*
*
* Nonzas
* XEP-0360
* {@link org.jivesoftware.smack.packet.Nonza}
* Defines the term “Nonza”, describing every top level stream element that is not a Stanza.
*
*
* HTTP File Upload
* XEP-0363
*
* Protocol to request permissions to upload a file to an HTTP server and get a shareable URL.
*
*
* References
* XEP-0372
*
* Add references like mentions or external data to stanzas.
*
*
* Explicit Message Encryption
* XEP-0380
*
* Mark a message as explicitly encrypted.
*
*
* OpenPGP for XMPP
* XEP-0373
*
* Utilize OpenPGP to exchange encrypted and signed content.
*
*
* OpenPGP for XMPP: Instant Messaging
* XEP-0374
*
* OpenPGP encrypted Instant Messaging.
*
*
* Spoiler Messages
* XEP-0382
*
* Indicate that the body of a message should be treated as a spoiler.
*
*
* OMEMO Multi End Message and Object Encryption
* XEP-0384
*
* Encrypt messages using OMEMO encryption (currently only with smack-omemo-signal -> GPLv3).
*
*
* Consistent Color Generation
* XEP-0392
* {@link org.jivesoftware.smackx.colors.ConsistentColor}
* Generate consistent colors for identifiers like usernames to provide a consistent user experience.
*
*
* Message Markup
* XEP-0394
* {@link org.jivesoftware.smackx.message_markup.element}
* Style message bodies while keeping body and markup information separated.
*
*
* DNS Queries over XMPP (DoX)
* XEP-0418
*
* Send DNS queries and responses over XMPP.
*
*
* Stanza Content Encryption
* XEP-0420
*
* End-to-end encryption of arbitrary extension elements. Smack provides elements and providers to be used by
* encryption mechanisms.
*
*
* Message Fastening
* XEP-0422
*
* Mark payloads on a message to be logistically fastened to a previous message.
*
*
* Message Retraction
* XEP-0424
*
* Mark messages as retracted.
*
*
* Fallback Indication
* XEP-0428
*
* Declare body elements of a message as ignorable fallback for naive legacy clients.
*
*
* File metadata element
* XEP-0446
* {@link org.jivesoftware.smackx.file_metadata.element}
* Defines a generic file metadata element to be used in other specifications.
*
*
* Google GCM JSON payload
*
*
* Semantically the same as XEP-0335: JSON Containers.
*
*
* Multi-User Chat Light
* XEP-MUCLIGHT
*
* Multi-User Chats for mobile XMPP applications and specific environment.
*
*
* Jive Properties
*
*
* TODO
*
*
*
*/
package org.jivesoftware.smackx;