mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-25 15:52:06 +01:00
Merge branch '4.2'
This commit is contained in:
commit
193688e553
33 changed files with 226 additions and 105 deletions
|
@ -1,6 +1,8 @@
|
||||||
Blocking Command
|
Blocking Command
|
||||||
================
|
================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Allows to manage communications blocking.
|
Allows to manage communications blocking.
|
||||||
|
|
||||||
* Check push notifications support
|
* Check push notifications support
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Entity Capabilities
|
Entity Capabilities
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
This section details the usage of Smacks implementation of Entity
|
This section details the usage of Smacks implementation of Entity
|
||||||
Capabilities.
|
Capabilities.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Data Forms
|
Data Forms
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Allows to exchange structured data between users and applications for common
|
Allows to exchange structured data between users and applications for common
|
||||||
tasks such as registration and searching using Forms.
|
tasks such as registration and searching using Forms.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Service Discovery
|
Service Discovery
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
The service discovery extension allows to discover items and information about
|
The service discovery extension allows to discover items and information about
|
||||||
XMPP entities. Follow these links to learn how to use this extension.
|
XMPP entities. Follow these links to learn how to use this extension.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
File Transfer
|
File Transfer
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
The file transfer extension allows the user to transmit and receive files.
|
The file transfer extension allows the user to transmit and receive files.
|
||||||
|
|
||||||
* Send a file to another user
|
* Send a file to another user
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
HTTP over XMPP transport
|
HTTP over XMPP transport
|
||||||
========================
|
========================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Allows to transport HTTP communication over XMPP peer-to-peer networks.
|
Allows to transport HTTP communication over XMPP peer-to-peer networks.
|
||||||
|
|
||||||
* Discover HOXT support
|
* Discover HOXT support
|
||||||
|
|
|
@ -9,107 +9,108 @@ for many of the protocol extensions.
|
||||||
This manual provides details about each of the "smackx" extensions, including
|
This manual provides details about each of the "smackx" extensions, including
|
||||||
what it is, how to use it, and some simple example code.
|
what it is, how to use it, and some simple example code.
|
||||||
|
|
||||||
Currently supported XEPs of Smack (all subprojects)
|
Currently supported XEPs of Smack (all sub-projects)
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
|
|
||||||
| Name | XEP | Description |
|
| Name | XEP | Version | Description |
|
||||||
|---------------------------------------------|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
|
|---------------------------------------------|--------------------------------------------------------|-----------|----------------------------------------------------------------------------------------------------------|
|
||||||
| Nonzas | [XEP-0360](http://xmpp.org/extensions/xep-0360.html) | Defines the term "Nonza", describing every top level stream element that is not a Stanza. |
|
| Nonzas | [XEP-0360](https://xmpp.org/extensions/xep-0360.html) | n/a | Defines the term "Nonza", describing every top level stream element that is not a Stanza. |
|
||||||
|
|
||||||
Currently supported XEPs of smack-tcp
|
Currently supported XEPs of smack-tcp
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
| Name | XEP | Description |
|
| Name | XEP | Version | Description |
|
||||||
|---------------------------------------------|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
|
|---------------------------------------------|--------------------------------------------------------|-----------|----------------------------------------------------------------------------------------------------------|
|
||||||
| [Stream Management](streammanagement.md) | [XEP-0198](http://xmpp.org/extensions/xep-0198.html) | Allows active management of an XML Stream between two XMPP entities (stanza acknowledgement, stream resumption). |
|
| [Stream Management](streammanagement.md) | [XEP-0198](https://xmpp.org/extensions/xep-0198.html) | n/a | Allows active management of an XML Stream between two XMPP entities (stanza acknowledgement, stream resumption). |
|
||||||
|
|
||||||
|
|
||||||
Smack Extensions and currently supported XEPs of smack-extensions
|
Smack Extensions and currently supported XEPs of smack-extensions
|
||||||
-----------------------------------------------------------------
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
| Name | XEP | Description |
|
| Name | XEP | Version | Description |
|
||||||
|---------------------------------------------|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
|
|---------------------------------------------|--------------------------------------------------------|-----------|----------------------------------------------------------------------------------------------------------|
|
||||||
| [Data Forms](dataforms.md) | [XEP-0004](http://xmpp.org/extensions/xep-0004.html) | Allows to gather data using Forms. |
|
| [Data Forms](dataforms.md) | [XEP-0004](https://xmpp.org/extensions/xep-0004.html) | n/a | Allows to gather data using Forms. |
|
||||||
| Last Activity | [XEP-0012](http://xmpp.org/extensions/xep-0012.html) | Communicating information about the last activity associated with an XMPP entity. |
|
| Last Activity | [XEP-0012](https://xmpp.org/extensions/xep-0012.html) | n/a | Communicating information about the last activity associated with an XMPP entity. |
|
||||||
| Flexible Offline Message Retrieval | [XEP-0013](http://xmpp.org/extensions/xep-0013.html) | Extension for flexible, POP3-like handling of offline messages. |
|
| Flexible Offline Message Retrieval | [XEP-0013](https://xmpp.org/extensions/xep-0013.html) | n/a | Extension for flexible, POP3-like handling of offline messages. |
|
||||||
| [Privacy Lists](privacy.md) | [XEP-0016](http://xmpp.org/extensions/xep-0016.html) | Enabling or disabling communication with other entities. |
|
| [Privacy Lists](privacy.md) | [XEP-0016](https://xmpp.org/extensions/xep-0016.html) | n/a | Enabling or disabling communication with other entities. |
|
||||||
| [Service Discovery](disco.md) | [XEP-0030](http://xmpp.org/extensions/xep-0030.html) | Allows to discover services in XMPP entities. |
|
| [Service Discovery](disco.md) | [XEP-0030](https://xmpp.org/extensions/xep-0030.html) | n/a | Allows to discover services in XMPP entities. |
|
||||||
| Extended Stanza Addressing | [XEP-0033](http://xmpp.org/extensions/xep-0033.html) | Allows to include headers in stanzas in order to specifiy multiple recipients or sub-addresses. |
|
| Extended Stanza Addressing | [XEP-0033](https://xmpp.org/extensions/xep-0033.html) | n/a | Allows to include headers in stanzas in order to specifiy multiple recipients or sub-addresses. |
|
||||||
| [Multi User Chat](muc.md) | [XEP-0045](http://xmpp.org/extensions/xep-0045.html) | Allows configuration of, participation in, and administration of individual text-based conference rooms. |
|
| [Multi User Chat](muc.md) | [XEP-0045](https://xmpp.org/extensions/xep-0045.html) | n/a | Allows configuration of, participation in, and administration of individual text-based conference rooms. |
|
||||||
| In-Band Bytestreams | [XEP-0047](http://xmpp.org/extensions/xep-0047.html) | Enables any two entities to establish a one-to-one bytestream between themselves using plain XMPP. |
|
| In-Band Bytestreams | [XEP-0047](https://xmpp.org/extensions/xep-0047.html) | n/a | Enables any two entities to establish a one-to-one bytestream between themselves using plain XMPP. |
|
||||||
| Bookmarks | [XEP-0048](http://xmpp.org/extensions/xep-0048.html) | Bookmarks, for e.g. MUC and web pages. |
|
| Bookmarks | [XEP-0048](https://xmpp.org/extensions/xep-0048.html) | n/a | Bookmarks, for e.g. MUC and web pages. |
|
||||||
| [Private Data](privatedata.md) | [XEP-0049](http://xmpp.org/extensions/xep-0049.html) | Manages private data. |
|
| [Private Data](privatedata.md) | [XEP-0049](https://xmpp.org/extensions/xep-0049.html) | n/a | Manages private data. |
|
||||||
| Ad-Hoc Commands | [XEP-0050](http://xmpp.org/extensions/xep-0050.html) | Advertising and executing application-specific commands. |
|
| Ad-Hoc Commands | [XEP-0050](https://xmpp.org/extensions/xep-0050.html) | n/a | Advertising and executing application-specific commands. |
|
||||||
| vcard-temp | [XEP-0054](http://xmpp.org/extensions/xep-0054.html) | The vCard-XML format currently in use. |
|
| vcard-temp | [XEP-0054](https://xmpp.org/extensions/xep-0054.html) | n/a | The vCard-XML format currently in use. |
|
||||||
| Jabber Search | [XEP-0055](http://xmpp.org/extensions/xep-0055.html) | Search information repositories on the XMPP network. |
|
| Jabber Search | [XEP-0055](https://xmpp.org/extensions/xep-0055.html) | n/a | Search information repositories on the XMPP network. |
|
||||||
| Result Set Management | [XEP-0059](http://xmpp.org/extensions/xep-0059.html) | Page through and otherwise manage the receipt of large result sets |
|
| Result Set Management | [XEP-0059](https://xmpp.org/extensions/xep-0059.html) | n/a | Page through and otherwise manage the receipt of large result sets |
|
||||||
| [PubSub](pubsub.md) | [XEP-0060](http://xmpp.org/extensions/xep-0060.html) | Generic publish and subscribe functionality. |
|
| [PubSub](pubsub.md) | [XEP-0060](https://xmpp.org/extensions/xep-0060.html) | n/a | Generic publish and subscribe functionality. |
|
||||||
| SOCKS5 Bytestrams | [XEP-0065](http://xmpp.org/extensions/xep-0065.html) | Out-of-band bytestream between any two XMPP entities. |
|
| SOCKS5 Bytestreams | [XEP-0065](https://xmpp.org/extensions/xep-0065.html) | n/a | Out-of-band bytestream between any two XMPP entities. |
|
||||||
| [XHTML-IM](xhtml.md) | [XEP-0071](http://xmpp.org/extensions/xep-0071.html) | Allows send and receiving formatted messages using XHTML. |
|
| [XHTML-IM](xhtml.md) | [XEP-0071](https://xmpp.org/extensions/xep-0071.html) | n/a | Allows send and receiving formatted messages using XHTML. |
|
||||||
| In-Band Registration | [XEP-0077](http://xmpp.org/extensions/xep-0077.html) | In-band registration with XMPP services. |
|
| In-Band Registration | [XEP-0077](https://xmpp.org/extensions/xep-0077.html) | n/a | In-band registration with XMPP services. |
|
||||||
| Advanced Message Processing | [XEP-0079](http://xmpp.org/extensions/xep-0079.html) | Enables entities to request, and servers to perform, advanced processing of XMPP message stanzas. |
|
| Advanced Message Processing | [XEP-0079](https://xmpp.org/extensions/xep-0079.html) | n/a | Enables entities to request, and servers to perform, advanced processing of XMPP message stanzas. |
|
||||||
| User Location | [XEP-0080](http://xmpp.org/extensions/xep-0080.html) | Enabled communicating information about the current geographical or physical location of an entity. |
|
| User Location | [XEP-0080](https://xmpp.org/extensions/xep-0080.html) | n/a | Enabled communicating information about the current geographical or physical location of an entity. |
|
||||||
| XMPP Date Time Profiles | [XEP-0082](http://xmpp.org/extensions/xep-0082.html) | Standardization of Date and Time representation in XMPP. |
|
| XMPP Date Time Profiles | [XEP-0082](https://xmpp.org/extensions/xep-0082.html) | n/a | Standardization of Date and Time representation in XMPP. |
|
||||||
| Chat State Notifications | [XEP-0085](http://xmpp.org/extensions/xep-0085.html) | Communicating the status of a user in a chat session. |
|
| Chat State Notifications | [XEP-0085](https://xmpp.org/extensions/xep-0085.html) | n/a | Communicating the status of a user in a chat session. |
|
||||||
| [Time Exchange](time.md) | [XEP-0090](http://xmpp.org/extensions/xep-0090.html) | Allows local time information to be shared between users. |
|
| [Time Exchange](time.md) | [XEP-0090](https://xmpp.org/extensions/xep-0090.html) | n/a | Allows local time information to be shared between users. |
|
||||||
| Software Version | [XEP-0092](http://xmpp.org/extensions/xep-0092.html) | Retrieve and announce the software application of an XMPP entity. |
|
| Software Version | [XEP-0092](https://xmpp.org/extensions/xep-0092.html) | n/a | Retrieve and announce the software application of an XMPP entity. |
|
||||||
| Stream Initation | [XEP-0095](http://xmpp.org/extensions/xep-0095.html) | Initiating a data stream between any two XMPP entities. |
|
| Stream Initation | [XEP-0095](https://xmpp.org/extensions/xep-0095.html) | n/a | Initiating a data stream between any two XMPP entities. |
|
||||||
| [SI File Transfer](filetransfer.md) | [XEP-0096](http://xmpp.org/extensions/xep-0096.html) | Transfer files between two users over XMPP. |
|
| [SI File Transfer](filetransfer.md) | [XEP-0096](https://xmpp.org/extensions/xep-0096.html) | n/a | Transfer files between two users over XMPP. |
|
||||||
| [Entity Capabilities](caps.md) | [XEP-0115](http://xmpp.org/extensions/xep-0115.html) | Broadcasting and dynamic discovery of entity capabilities. |
|
| [Entity Capabilities](caps.md) | [XEP-0115](https://xmpp.org/extensions/xep-0115.html) | n/a | Broadcasting and dynamic discovery of entity capabilities. |
|
||||||
| [Jingle](jingle.html) | [XEP-0116](http://xmpp.org/extensions/xep-0166.html) | Initiate and manage sessions between two XMPP entities. |
|
| [Jingle](jingle.html) | [XEP-0116](http://xmpp.org/extensions/xep-0166.html) | n/a | Initiate and manage sessions between two XMPP entities. |
|
||||||
| Data Forms Validation | [XEP-0122](http://xmpp.org/extensions/xep-0122.html) | Enables an application to specify additional validation guidelines . |
|
| Data Forms Validation | [XEP-0122](https://xmpp.org/extensions/xep-0122.html) | n/a | Enables an application to specify additional validation guidelines . |
|
||||||
| Service Administration | [XEP-0133](http://xmpp.org/extensions/xep-0133.html) | Recommended best practices for service-level administration of servers and components using Ad-Hoc Commands. |
|
| Service Administration | [XEP-0133](https://xmpp.org/extensions/xep-0133.html) | n/a | Recommended best practices for service-level administration of servers and components using Ad-Hoc Commands. |
|
||||||
| Stream Compression | [XEP-0138](http://xmpp.org/extensions/xep-0138.html) | Support for optional compression of the XMPP stream.
|
| Stream Compression | [XEP-0138](https://xmpp.org/extensions/xep-0138.html) | n/a | Support for optional compression of the XMPP stream.
|
||||||
| Data Forms Layout | [XEP-0141](http://xmpp.org/extensions/xep-0141.html) | Enables an application to specify form layouts. |
|
| Data Forms Layout | [XEP-0141](https://xmpp.org/extensions/xep-0141.html) | n/a | Enables an application to specify form layouts. |
|
||||||
| Personal Eventing Protocol | [XEP-0163](http://xmpp.org/extensions/xep-0163.html) | Using the XMPP publish-subscribe protocol to broadcast state change events associated with an XMPP account. |
|
| Personal Eventing Protocol | [XEP-0163](https://xmpp.org/extensions/xep-0163.html) | n/a | Using the XMPP publish-subscribe protocol to broadcast state change events associated with an XMPP account. |
|
||||||
| Message Delivery Receipts | [XEP-0184](http://xmpp.org/extensions/xep-0184.html) | Extension for message delivery receipts. The sender can request notification that the message has been delivered. |
|
| Message Delivery Receipts | [XEP-0184](https://xmpp.org/extensions/xep-0184.html) | n/a | Extension for message delivery receipts. The sender can request notification that the message has been delivered. |
|
||||||
| [Blocking Command](blockingcommand.md) | [XEP-0191](http://xmpp.org/extensions/xep-0191.html) | Communications blocking that is intended to be simpler than privacy lists (XEP-0016). |
|
| [Blocking Command](blockingcommand.md) | [XEP-0191](https://xmpp.org/extensions/xep-0191.html) | n/a | Communications blocking that is intended to be simpler than privacy lists (XEP-0016). |
|
||||||
| XMPP Ping | [XEP-0199](http://xmpp.org/extensions/xep-0199.html) | Sending application-level pings over XML streams.
|
| XMPP Ping | [XEP-0199](https://xmpp.org/extensions/xep-0199.html) | n/a | Sending application-level pings over XML streams.
|
||||||
| Entity Time | [XEP-0202](http://xmpp.org/extensions/xep-0202.html) | Allows entities to communicate their local time |
|
| Entity Time | [XEP-0202](https://xmpp.org/extensions/xep-0202.html) | n/a | Allows entities to communicate their local time |
|
||||||
| Delayed Delivery | [XEP-0203](http://xmpp.org/extensions/xep-0203.html) | Extension for communicating the fact that an XML stanza has been delivered with a delay. |
|
| Delayed Delivery | [XEP-0203](https://xmpp.org/extensions/xep-0203.html) | n/a | Extension for communicating the fact that an XML stanza has been delivered with a delay. |
|
||||||
| XMPP Over BOSH | [XEP-0206](http://xmpp.org/extensions/xep-0206.html) | Use Bidirectional-streams Over Synchronous HTTP (BOSH) to transport XMPP stanzas. |
|
| XMPP Over BOSH | [XEP-0206](https://xmpp.org/extensions/xep-0206.html) | n/a | Use Bidirectional-streams Over Synchronous HTTP (BOSH) to transport XMPP stanzas. |
|
||||||
| Attention | [XEP-0224](http://xmpp.org/extensions/xep-0224.html) | Getting attention of another user. |
|
| Attention | [XEP-0224](https://xmpp.org/extensions/xep-0224.html) | n/a | Getting attention of another user. |
|
||||||
| Bits of Binary | [XEP-0231](http://xmpp.org/extensions/xep-0231.html) | Including or referring to small bits of binary data in an XML stanza. |
|
| Bits of Binary | [XEP-0231](https://xmpp.org/extensions/xep-0231.html) | n/a | Including or referring to small bits of binary data in an XML stanza. |
|
||||||
| Best Practices for Resource Locking | [XEP-0296](https://xmpp.org/extensions/xep-0296.html) | Specifies best practices to be followed by Jabber/XMPP clients about when to lock into, and unlock away from, resources. |
|
| Best Practices for Resource Locking | [XEP-0296](https://xmpp.org/extensions/xep-0296.html) | n/a | Specifies best practices to be followed by Jabber/XMPP clients about when to lock into, and unlock away from, resources. |
|
||||||
| Last Message Correction | [XEP-0308](http://xmpp.org/extensions/xep-0308.html) | Provides a method for indicating that a message is a correction of the last sent message. |
|
| Last Message Correction | [XEP-0308](https://xmpp.org/extensions/xep-0308.html) | n/a | Provides a method for indicating that a message is a correction of the last sent message. |
|
||||||
| [Group Chat Invitations](invitation.md) | n/a | Send invitations to other users to join a group chat room. |
|
| [Group Chat Invitations](invitation.md) | n/a | n/a | Send invitations to other users to join a group chat room. |
|
||||||
| [Jive Properties](properties.md) | n/a | TODO |
|
| [Jive Properties](properties.md) | n/a | n/a | TODO |
|
||||||
|
|
||||||
|
|
||||||
Experimental Smack Extensions and currently supported XEPs of smack-experimental
|
Experimental Smack Extensions and currently supported XEPs of smack-experimental
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
| Message Carbons | [XEP-0280](https://xmpp.org/extensions/xep-0280.html) | n/a | Keep all IM clients for a user engaged in a conversation, by carbon-copy outbound messages to all interested resources. |
|
||||||
|
| [Message Archive Management](mam.md) | [XEP-0313](https://xmpp.org/extensions/xep-0313.html) | n/a | Query and control an archive of messages stored on a server. |
|
||||||
|
| [Internet of Things - Sensor Data](iot.md) | [XEP-0323](https://xmpp.org/extensions/xep-0323.html) | n/a | Sensor data interchange over XMPP. |
|
||||||
|
| [Internet of Things - Provisioning](iot.md) | [XEP-0324](https://xmpp.org/extensions/xep-0324.html) | n/a | Provisioning, access rights and user priviliges for the Internet of Things. |
|
||||||
|
| [Internet of Things - Control](iot.md) | [XEP-0325](https://xmpp.org/extensions/xep-0325.html) | n/a | Describes how to control devices or actuators in an XMPP-based sensor network. |
|
||||||
|
| [HTTP over XMPP transport](hoxt.md) | [XEP-0332](https://xmpp.org/extensions/xep-0332.html) | n/a | Allows to transport HTTP communication over XMPP peer-to-peer networks. |
|
||||||
|
| Chat Markers | [XEP-0333](https://xmpp.org/extensions/xep-0333.html) | n/a | A solution of marking the last received, displayed and acknowledged message in a chat. |
|
||||||
|
| Message Processing Hints | [XEP-0334](https://xmpp.org/extensions/xep-0334.html) | n/a | Hints to entities routing or receiving a message. |
|
||||||
|
| JSON Containers | [XEP-0335](https://xmpp.org/extensions/xep-0335.html) | n/a | Encapsulation of JSON data within XMPP Stanzas. |
|
||||||
|
| [Internet of Things - Discovery](iot.md) | [XEP-0347](https://xmpp.org/extensions/xep-0347.html) | n/a | Describes how Things can be installed and discovered by their owners. |
|
||||||
|
| Client State Indication | [XEP-0352](https://xmpp.org/extensions/xep-0352.html) | n/a | A way for the client to indicate its active/inactive state. |
|
||||||
|
| [Push Notifications](pushnotifications.md) | [XEP-0357](https://xmpp.org/extensions/xep-0357.html) | n/a | Defines a way to manage push notifications from an XMPP Server. |
|
||||||
|
| Stable and Unique Stanza IDs | [XEP-0359](https://xmpp.org/extensions/xep-0359.html) | 0.5.0 | This specification describes unique and stable IDs for messages. |
|
||||||
|
| HTTP File Upload | [XEP-0363](https://xmpp.org/extensions/xep-0363.html) | 0.3.1 | Protocol to request permissions to upload a file to an HTTP server and get a shareable URL. |
|
||||||
|
| References | [XEP-0372](https://xmpp.org/extensions/xep-0363.html) | 0.2.0 | Add references like mentions or external data to stanzas. |
|
||||||
|
| [Spoiler Messages](spoiler.md) | [XEP-0382](https://xmpp.org/extensions/xep-0382.html) | 0.2.0 | Indicate that the body of a message should be treated as a spoiler |
|
||||||
|
| [OMEMO Multi End Message and Object Encryption](omemo.md) | [XEP-0384](https://xmpp.org/extensions/xep-0384.html) | n/a | Encrypt messages using OMEMO encryption (currently only with smack-omemo-signal -> GPLv3). |
|
||||||
|
| [Consistent Color Generation](consistent_colors.md) | [XEP-0392](https://xmpp.org/extensions/xep-0392.html) | 0.4.0 | Generate consistent colors for identifiers like usernames to provide a consistent user experience. |
|
||||||
|
| [Message Markup](messagemarkup.md) | [XEP-0394](https://xmpp.org/extensions/xep-0394.html) | 0.1.0 | Style message bodies while keeping body and markup information separated. |
|
||||||
|
|
||||||
| Name | XEP | Description |
|
Unofficial XMPP Extensions
|
||||||
|---------------------------------------------|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
|
--------------------------
|
||||||
| Message Carbons | [XEP-0280](http://xmpp.org/extensions/xep-0280.html) | Keep all IM clients for a user engaged in a conversation, by carbon-copy outbound messages to all interested resources. |
|
|
||||||
| [Message Archive Management](mam.md) | [XEP-0313](http://xmpp.org/extensions/xep-0313.html) | Query and control an archive of messages stored on a server. |
|
|
||||||
| [Internet of Things - Sensor Data](iot.md) | [XEP-0323](http://xmpp.org/extensions/xep-0323.html) | Sensor data interchange over XMPP. |
|
|
||||||
| [Internet of Things - Provisioning](iot.md) | [XEP-0324](http://xmpp.org/extensions/xep-0324.html) | Provisioning, access rights and user priviliges for the Internet of Things. |
|
|
||||||
| [Internet of Things - Control](iot.md) | [XEP-0325](http://xmpp.org/extensions/xep-0325.html) | Describes how to control devices or actuators in an XMPP-based sensor netowrk. |
|
|
||||||
| [HTTP over XMPP transport](hoxt.md) | [XEP-0332](http://xmpp.org/extensions/xep-0332.html) | Allows to transport HTTP communication over XMPP peer-to-peer networks. |
|
|
||||||
| Chat Markers | [XEP-0333](http://xmpp.org/extensions/xep-0333.html) | A solution of marking the last received, displayed and acknowledged message in a chat. |
|
|
||||||
| Message Processing Hints | [XEP-0334](http://xmpp.org/extensions/xep-0334.html) | Hints to entities routing or receiving a message. |
|
|
||||||
| JSON Containers | [XEP-0335](http://xmpp.org/extensions/xep-0335.html) | Encapsulation of JSON data within XMPP Stanzas. |
|
|
||||||
| [Internet of Things - Discovery](iot.md) | [XEP-0347](http://xmpp.org/extensions/xep-0347.html) | Describes how Things can be installed and discovered by their owners. |
|
|
||||||
| Client State Indication | [XEP-0352](http://xmpp.org/extensions/xep-0352.html) | A way for the client to indicate its active/inactive state. |
|
|
||||||
| [Push Notifications](pushnotifications.md) | [XEP-0357](http://xmpp.org/extensions/xep-0357.html) | Defines a way to manage push notifications from an XMPP Server. |
|
|
||||||
| Stable and Unique Stanza IDs | [XEP-0359](http://xmpp.org/extensions/xep-0359.html) | This specification describes unique and stable IDs for messages. |
|
|
||||||
| HTTP File Upload | [XEP-0363](http://xmpp.org/extensions/xep-0363.html) | Protocol to request permissions to upload a file to an HTTP server and get a shareable URL. |
|
|
||||||
| References | [XEP-0372](http://xmpp.org/extensions/xep-0363.html) | Add references like mentions or external data to stanzas. |
|
|
||||||
| [Spoiler Messages](spoiler.md) | [XEP-0382](http://xmpp.org/extensions/xep-0382.html) | Indicate that the body of a message should be treated as a spoiler |
|
|
||||||
| [Multi-User Chat Light](muclight.md) | [XEP-xxxx](http://mongooseim.readthedocs.io/en/latest/open-extensions/xeps/xep-muc-light.html) | Multi-User Chats for mobile XMPP applications and specific enviroment. |
|
|
||||||
| [OMEMO Multi End Message and Object Encryption](omemo.md) | [XEP-XXXX](https://conversations.im/omemo/xep-omemo.html) | Encrypt messages using OMEMO encryption (currently only with smack-omemo-signal -> GPLv3). |
|
|
||||||
| [Consistent Color Generation](consistent_colors.md) | [XEP-0392](http://xmpp.org/extensions/xep-0392.html) | Generate consistent colors for identifiers like usernames to provide a consistent user experience. |
|
|
||||||
| Google GCM JSON payload | n/a | Semantically the same as XEP-0335: JSON Containers |
|
|
||||||
| [Message Markup](messagemarkup.md) | [XEP-0394](http://xmpp.org/extensions/xep-0394.html)| Style message bodies while keeping body and markup information separated. |
|
|
||||||
|
|
||||||
|
| Name | XEP | Version | Description |
|
||||||
|
|---------------------------------------------|--------------------------------------------------------|-----------|----------------------------------------------------------------------------------------------------------|
|
||||||
|
| [Multi-User Chat Light](muclight.md) | [XEP-xxxx](https://mongooseim.readthedocs.io/en/latest/open-extensions/xeps/xep-muc-light.html) | n/a | Multi-User Chats for mobile XMPP applications and specific environment. |
|
||||||
|
| Google GCM JSON payload | n/a | n/a | Semantically the same as XEP-0335: JSON Containers. |
|
||||||
|
|
||||||
Legacy Smack Extensions and currently supported XEPs of smack-legacy
|
Legacy Smack Extensions and currently supported XEPs of smack-legacy
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
If a XEP becomes 'Deprecated' or 'Obsolete' the code will be moved to the *smack-legacy* subproject.
|
If a XEP becomes 'Deprecated' or 'Obsolete' the code will be moved to the *smack-legacy* subproject.
|
||||||
|
|
||||||
| Name | XEP | Description |
|
| Name | XEP | Version | Description |
|
||||||
|---------------------------------------------|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
|
|---------------------------------------------|--------------------------------------------------------|-----------|----------------------------------------------------------------------------------------------------------|
|
||||||
| [Message Events](messageevents.md) | [XEP-0022](http://xmpp.org/extensions/xep-0022.html) | Requests and responds to message events. |
|
| [Message Events](messageevents.md) | [XEP-0022](https://xmpp.org/extensions/xep-0022.html) | n/a | Requests and responds to message events. |
|
||||||
| [Roster Item Exchange](rosterexchange.md) | [XEP-0093](http://xmpp.org/extensions/xep-0093.html) | Allows roster data to be shared between users. |
|
| [Roster Item Exchange](rosterexchange.md) | [XEP-0093](https://xmpp.org/extensions/xep-0093.html) | n/a | Allows roster data to be shared between users. |
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Group Chat Invitations
|
Group Chat Invitations
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
The group chat invitation extension is used to invite other users to a
|
The group chat invitation extension is used to invite other users to a
|
||||||
group chat room.
|
group chat room.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
Internet of Things (XEP-0323, -0324, -0325, -0347)
|
Internet of Things (XEP-0323, -0324, -0325, -0347)
|
||||||
==================================================
|
==================================================
|
||||||
|
|
||||||
The Internet of Things (IoT) XEPs are an experimental open standard on how XMPP can be used for IoT. They currently consist of
|
[Back](index.md)
|
||||||
|
|
||||||
|
The Internet of Things (IoT) XEPs are an experimental open standard how XMPP can be used for IoT. They currently consists of
|
||||||
- XEP-0323 Sensor Data
|
- XEP-0323 Sensor Data
|
||||||
- XEP-0324 Provisioning
|
- XEP-0324 Provisioning
|
||||||
- XEP-0325 Control
|
- XEP-0325 Control
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Message Archive Management
|
Message Archive Management
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Query and control an archive of messages stored on a server.
|
Query and control an archive of messages stored on a server.
|
||||||
|
|
||||||
* Check MAM support
|
* Check MAM support
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Multi User Chat
|
Multi User Chat
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Allows configuration of, participation in, and administration of individual
|
Allows configuration of, participation in, and administration of individual
|
||||||
text-based conference rooms.
|
text-based conference rooms.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Multi-User Chat Light
|
Multi-User Chat Light
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Allows configuration of, participation in, and administration of presenceless Multi-User Chats.
|
Allows configuration of, participation in, and administration of presenceless Multi-User Chats.
|
||||||
Its feature set is a response to mobile XMPP applications needs and specific environment.
|
Its feature set is a response to mobile XMPP applications needs and specific environment.
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
Privacy Lists
|
Privacy Lists
|
||||||
============
|
============
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
[XEP-0016: Privacy Lists](http://xmpp.org/extensions/xep-0016.html)
|
[XEP-0016: Privacy Lists](http://xmpp.org/extensions/xep-0016.html)
|
||||||
|
|
||||||
What is?
|
What is it?
|
||||||
--------
|
-----------
|
||||||
|
|
||||||
`Privacy` is a method for users to block communications from particular other
|
`Privacy` is a method for users to block communications from particular other
|
||||||
users. In XMPP this is done by managing one's privacy lists.
|
users. In XMPP this is done by managing one's privacy lists.
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Private Data
|
Private Data
|
||||||
============
|
============
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Manages private data, which is a mechanism to allow users to store arbitrary
|
Manages private data, which is a mechanism to allow users to store arbitrary
|
||||||
XML data on an XMPP server. Each private data chunk is defined by a element
|
XML data on an XMPP server. Each private data chunk is defined by a element
|
||||||
name and XML namespace. Example private data:
|
name and XML namespace. Example private data:
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Stanza Properties
|
Stanza Properties
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Smack provides an easy mechanism for attaching arbitrary properties to
|
Smack provides an easy mechanism for attaching arbitrary properties to
|
||||||
packets. Each property has a String name, and a value that is a Java primitive
|
packets. Each property has a String name, and a value that is a Java primitive
|
||||||
(int, long, float, double, boolean) or any Serializable object (a Java object
|
(int, long, float, double, boolean) or any Serializable object (a Java object
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Pubsub
|
Pubsub
|
||||||
======
|
======
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
This section details the usage of an API designed for accessing an XMPP based
|
This section details the usage of an API designed for accessing an XMPP based
|
||||||
implementation of a [publish and
|
implementation of a [publish and
|
||||||
subscribe](http://en.wikipedia.org/wiki/Publish/subscribe) based messaging
|
subscribe](http://en.wikipedia.org/wiki/Publish/subscribe) based messaging
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Push Notifications
|
Push Notifications
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Allows to manage how XMPP servers deliver information for use in push notifications to mobile and other devices.
|
Allows to manage how XMPP servers deliver information for use in push notifications to mobile and other devices.
|
||||||
|
|
||||||
* Check push notifications support
|
* Check push notifications support
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Roster Item Exchange
|
Roster Item Exchange
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
This extension is used to send rosters, roster groups and roster entries from
|
This extension is used to send rosters, roster groups and roster entries from
|
||||||
one XMPP Entity to another. It also provides an easy way to hook up custom
|
one XMPP Entity to another. It also provides an easy way to hook up custom
|
||||||
logic when entries are received from other XMPP clients.
|
logic when entries are received from other XMPP clients.
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Stream Management
|
Stream Management
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
XMPPTCPConnection comes with support for Stream Management (SM).
|
XMPPTCPConnection comes with support for Stream Management (SM).
|
||||||
|
|
||||||
**XEP related:** [XEP-0198](http://xmpp.org/extensions/xep-0198.html)
|
**XEP related:** [XEP-0198](http://xmpp.org/extensions/xep-0198.html)
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Entity Time Exchange
|
Entity Time Exchange
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Supports a protocol that XMPP clients use to exchange their respective local
|
Supports a protocol that XMPP clients use to exchange their respective local
|
||||||
times and time zones.
|
times and time zones.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
XHTML Messages
|
XHTML Messages
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
[Back](index.md)
|
||||||
|
|
||||||
Provides the ability to send and receive formatted messages using XHTML.
|
Provides the ability to send and receive formatted messages using XHTML.
|
||||||
|
|
||||||
Follow these links to learn how to compose, send, receive and discover support
|
Follow these links to learn how to compose, send, receive and discover support
|
||||||
|
|
|
@ -833,8 +833,14 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter) {
|
public void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter) {
|
||||||
|
addStanzaSendingListener(packetListener, packetFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addStanzaSendingListener(StanzaListener packetListener, StanzaFilter packetFilter) {
|
||||||
if (packetListener == null) {
|
if (packetListener == null) {
|
||||||
throw new NullPointerException("Packet listener is null.");
|
throw new NullPointerException("Packet listener is null.");
|
||||||
}
|
}
|
||||||
|
@ -844,8 +850,14 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public void removePacketSendingListener(StanzaListener packetListener) {
|
public void removePacketSendingListener(StanzaListener packetListener) {
|
||||||
|
removeStanzaSendingListener(packetListener);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeStanzaSendingListener(StanzaListener packetListener) {
|
||||||
synchronized (sendListeners) {
|
synchronized (sendListeners) {
|
||||||
sendListeners.remove(packetListener);
|
sendListeners.remove(packetListener);
|
||||||
}
|
}
|
||||||
|
@ -894,9 +906,16 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public void addPacketInterceptor(StanzaListener packetInterceptor,
|
public void addPacketInterceptor(StanzaListener packetInterceptor,
|
||||||
StanzaFilter packetFilter) {
|
StanzaFilter packetFilter) {
|
||||||
|
addStanzaInterceptor(packetInterceptor, packetFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addStanzaInterceptor(StanzaListener packetInterceptor,
|
||||||
|
StanzaFilter packetFilter) {
|
||||||
if (packetInterceptor == null) {
|
if (packetInterceptor == null) {
|
||||||
throw new NullPointerException("Packet interceptor is null.");
|
throw new NullPointerException("Packet interceptor is null.");
|
||||||
}
|
}
|
||||||
|
@ -906,8 +925,14 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public void removePacketInterceptor(StanzaListener packetInterceptor) {
|
public void removePacketInterceptor(StanzaListener packetInterceptor) {
|
||||||
|
removeStanzaInterceptor(packetInterceptor);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeStanzaInterceptor(StanzaListener packetInterceptor) {
|
||||||
synchronized (interceptors) {
|
synchronized (interceptors) {
|
||||||
interceptors.remove(packetInterceptor);
|
interceptors.remove(packetInterceptor);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.jivesoftware.smack.packet.Stanza;
|
||||||
* <p>
|
* <p>
|
||||||
* Additionally you are able to intercept Packets that are going to be send and
|
* Additionally you are able to intercept Packets that are going to be send and
|
||||||
* make modifications to them. You can register a PacketListener as interceptor
|
* make modifications to them. You can register a PacketListener as interceptor
|
||||||
* by using {@link XMPPConnection#addPacketInterceptor(StanzaListener,
|
* by using {@link XMPPConnection#addStanzaInterceptor(StanzaListener,
|
||||||
* org.jivesoftware.smack.filter.StanzaFilter)}
|
* org.jivesoftware.smack.filter.StanzaFilter)}
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
|
|
|
@ -271,7 +271,7 @@ public interface XMPPConnection {
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to notify of new received packets.
|
* @param packetListener the stanza(/packet) listener to notify of new received packets.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza(/packet) filter to use.
|
||||||
* @see #addPacketInterceptor(StanzaListener, StanzaFilter)
|
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
void addSyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
void addSyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
@ -297,7 +297,7 @@ public interface XMPPConnection {
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to notify of new received packets.
|
* @param packetListener the stanza(/packet) listener to notify of new received packets.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza(/packet) filter to use.
|
||||||
* @see #addPacketInterceptor(StanzaListener, StanzaFilter)
|
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
void addAsyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
void addAsyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
@ -321,15 +321,41 @@ public interface XMPPConnection {
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to notify of sent packets.
|
* @param packetListener the stanza(/packet) listener to notify of sent packets.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza(/packet) filter to use.
|
||||||
|
* @deprecated use {@link #addStanzaSendingListener} instead
|
||||||
*/
|
*/
|
||||||
|
// TODO Remove in Smack 4.4
|
||||||
|
@Deprecated
|
||||||
void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a stanza(/packet) listener with this connection. The listener will be
|
||||||
|
* notified of every stanza(/packet) that this connection sends. A stanza(/packet) filter determines
|
||||||
|
* which packets will be delivered to the listener. Note that the thread
|
||||||
|
* that writes packets will be used to invoke the listeners. Therefore, each
|
||||||
|
* stanza(/packet) listener should complete all operations quickly or use a different
|
||||||
|
* thread for processing.
|
||||||
|
*
|
||||||
|
* @param packetListener the stanza(/packet) listener to notify of sent packets.
|
||||||
|
* @param packetFilter the stanza(/packet) filter to use.
|
||||||
|
*/
|
||||||
|
public void addStanzaSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a stanza(/packet) listener for sending packets from this connection.
|
||||||
|
*
|
||||||
|
* @param packetListener the stanza(/packet) listener to remove.
|
||||||
|
* @deprecated use {@link #removeStanzaSendingListener} instead
|
||||||
|
*/
|
||||||
|
// TODO Remove in Smack 4.4
|
||||||
|
@Deprecated
|
||||||
|
void removePacketSendingListener(StanzaListener packetListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) listener for sending packets from this connection.
|
* Removes a stanza(/packet) listener for sending packets from this connection.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to remove.
|
* @param packetListener the stanza(/packet) listener to remove.
|
||||||
*/
|
*/
|
||||||
void removePacketSendingListener(StanzaListener packetListener);
|
public void removeStanzaSendingListener(StanzaListener packetListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a stanza(/packet) interceptor with this connection. The interceptor will be
|
* Registers a stanza(/packet) interceptor with this connection. The interceptor will be
|
||||||
|
@ -339,18 +365,47 @@ public interface XMPPConnection {
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param packetInterceptor the stanza(/packet) interceptor to notify of packets about to be sent.
|
||||||
|
* @param packetFilter the stanza(/packet) filter to use.
|
||||||
|
* @deprecated use {@link #addStanzaInterceptor} instead
|
||||||
|
*/
|
||||||
|
// TODO Remove in Smack 4.4
|
||||||
|
@Deprecated
|
||||||
|
void addPacketInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a stanza(/packet) interceptor with this connection. The interceptor will be
|
||||||
|
* invoked every time a stanza(/packet) is about to be sent by this connection. Interceptors
|
||||||
|
* may modify the stanza(/packet) to be sent. A stanza(/packet) filter determines which packets
|
||||||
|
* will be delivered to the interceptor.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
||||||
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packetInterceptor the stanza(/packet) interceptor to notify of packets about to be sent.
|
* @param packetInterceptor the stanza(/packet) interceptor to notify of packets about to be sent.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza(/packet) filter to use.
|
||||||
*/
|
*/
|
||||||
void addPacketInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
|
void addStanzaInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a stanza(/packet) interceptor.
|
||||||
|
*
|
||||||
|
* @param packetInterceptor the stanza(/packet) interceptor to remove.
|
||||||
|
* @deprecated user {@link #removeStanzaInterceptor} instead
|
||||||
|
*/
|
||||||
|
// TODO Remove in Smack 4.4
|
||||||
|
@Deprecated
|
||||||
|
void removePacketInterceptor(StanzaListener packetInterceptor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) interceptor.
|
* Removes a stanza(/packet) interceptor.
|
||||||
*
|
*
|
||||||
* @param packetInterceptor the stanza(/packet) interceptor to remove.
|
* @param packetInterceptor the stanza(/packet) interceptor to remove.
|
||||||
*/
|
*/
|
||||||
void removePacketInterceptor(StanzaListener packetInterceptor);
|
void removeStanzaInterceptor(StanzaListener packetInterceptor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current value of the reply timeout in milliseconds for request for this
|
* Returns the current value of the reply timeout in milliseconds for request for this
|
||||||
|
|
|
@ -95,7 +95,7 @@ public final class StableUniqueStanzaIdManager extends Manager {
|
||||||
public synchronized void enable() {
|
public synchronized void enable() {
|
||||||
ServiceDiscoveryManager.getInstanceFor(connection()).addFeature(NAMESPACE);
|
ServiceDiscoveryManager.getInstanceFor(connection()).addFeature(NAMESPACE);
|
||||||
StanzaFilter filter = new AndFilter(OUTGOING_FILTER, new NotFilter(OUTGOING_FILTER));
|
StanzaFilter filter = new AndFilter(OUTGOING_FILTER, new NotFilter(OUTGOING_FILTER));
|
||||||
connection().addPacketInterceptor(stanzaListener, filter);
|
connection().addStanzaInterceptor(stanzaListener, filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -103,7 +103,7 @@ public final class StableUniqueStanzaIdManager extends Manager {
|
||||||
*/
|
*/
|
||||||
public synchronized void disable() {
|
public synchronized void disable() {
|
||||||
ServiceDiscoveryManager.getInstanceFor(connection()).removeFeature(NAMESPACE);
|
ServiceDiscoveryManager.getInstanceFor(connection()).removeFeature(NAMESPACE);
|
||||||
connection().removePacketInterceptor(stanzaListener);
|
connection().removeStanzaInterceptor(stanzaListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -115,7 +115,7 @@ public final class ChatManager extends Manager {
|
||||||
}
|
}
|
||||||
}, INCOMING_MESSAGE_FILTER);
|
}, INCOMING_MESSAGE_FILTER);
|
||||||
|
|
||||||
connection.addPacketInterceptor(new StanzaListener() {
|
connection.addStanzaInterceptor(new StanzaListener() {
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza stanza) throws NotConnectedException, InterruptedException {
|
public void processStanza(Stanza stanza) throws NotConnectedException, InterruptedException {
|
||||||
Message message = (Message) stanza;
|
Message message = (Message) stanza;
|
||||||
|
|
|
@ -339,7 +339,7 @@ public final class EntityCapsManager extends Manager {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
connection.addPacketSendingListener(new StanzaListener() {
|
connection.addStanzaSendingListener(new StanzaListener() {
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza packet) {
|
public void processStanza(Stanza packet) {
|
||||||
presenceSend = (Presence) packet;
|
presenceSend = (Presence) packet;
|
||||||
|
@ -362,7 +362,7 @@ public final class EntityCapsManager extends Manager {
|
||||||
packet.overrideExtension(caps);
|
packet.overrideExtension(caps);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
connection.addPacketInterceptor(packetInterceptor, PresenceTypeFilter.AVAILABLE);
|
connection.addStanzaInterceptor(packetInterceptor, PresenceTypeFilter.AVAILABLE);
|
||||||
// It's important to do this as last action. Since it changes the
|
// It's important to do this as last action. Since it changes the
|
||||||
// behavior of the SDM in some ways
|
// behavior of the SDM in some ways
|
||||||
sdm.setEntityCapsManager(this);
|
sdm.setEntityCapsManager(this);
|
||||||
|
|
|
@ -134,7 +134,7 @@ public final class LastActivityManager extends Manager {
|
||||||
super(connection);
|
super(connection);
|
||||||
|
|
||||||
// Listen to all the sent messages to reset the idle time on each one
|
// Listen to all the sent messages to reset the idle time on each one
|
||||||
connection.addPacketSendingListener(new StanzaListener() {
|
connection.addStanzaSendingListener(new StanzaListener() {
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza packet) {
|
public void processStanza(Stanza packet) {
|
||||||
Presence presence = (Presence) packet;
|
Presence presence = (Presence) packet;
|
||||||
|
@ -153,7 +153,7 @@ public final class LastActivityManager extends Manager {
|
||||||
}
|
}
|
||||||
}, StanzaTypeFilter.PRESENCE);
|
}, StanzaTypeFilter.PRESENCE);
|
||||||
|
|
||||||
connection.addPacketSendingListener(new StanzaListener() {
|
connection.addStanzaSendingListener(new StanzaListener() {
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza packet) {
|
public void processStanza(Stanza packet) {
|
||||||
Message message = (Message) packet;
|
Message message = (Message) packet;
|
||||||
|
|
|
@ -334,7 +334,7 @@ public class MultiUserChat {
|
||||||
);
|
);
|
||||||
// @formatter:on
|
// @formatter:on
|
||||||
connection.addSyncStanzaListener(declinesListener, new AndFilter(fromRoomFilter, DECLINE_FILTER));
|
connection.addSyncStanzaListener(declinesListener, new AndFilter(fromRoomFilter, DECLINE_FILTER));
|
||||||
connection.addPacketInterceptor(presenceInterceptor, new AndFilter(ToMatchesFilter.create(room),
|
connection.addStanzaInterceptor(presenceInterceptor, new AndFilter(ToMatchesFilter.create(room),
|
||||||
StanzaTypeFilter.PRESENCE));
|
StanzaTypeFilter.PRESENCE));
|
||||||
messageCollector = connection.createStanzaCollector(fromRoomGroupchatFilter);
|
messageCollector = connection.createStanzaCollector(fromRoomGroupchatFilter);
|
||||||
|
|
||||||
|
@ -2021,7 +2021,7 @@ public class MultiUserChat {
|
||||||
connection.removeSyncStanzaListener(presenceListener);
|
connection.removeSyncStanzaListener(presenceListener);
|
||||||
connection.removeSyncStanzaListener(subjectListener);
|
connection.removeSyncStanzaListener(subjectListener);
|
||||||
connection.removeSyncStanzaListener(declinesListener);
|
connection.removeSyncStanzaListener(declinesListener);
|
||||||
connection.removePacketInterceptor(presenceInterceptor);
|
connection.removeStanzaInterceptor(presenceInterceptor);
|
||||||
if (messageCollector != null) {
|
if (messageCollector != null) {
|
||||||
messageCollector.cancel();
|
messageCollector.cancel();
|
||||||
messageCollector = null;
|
messageCollector = null;
|
||||||
|
|
|
@ -126,7 +126,7 @@ public final class PrivacyListManager extends Manager {
|
||||||
});
|
});
|
||||||
|
|
||||||
// cached(Active|Default)ListName handling
|
// cached(Active|Default)ListName handling
|
||||||
connection.addPacketSendingListener(new StanzaListener() {
|
connection.addStanzaSendingListener(new StanzaListener() {
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza packet) throws NotConnectedException {
|
public void processStanza(Stanza packet) throws NotConnectedException {
|
||||||
XMPPConnection connection = connection();
|
XMPPConnection connection = connection();
|
||||||
|
@ -148,7 +148,7 @@ public final class PrivacyListManager extends Manager {
|
||||||
}, iqResultReplyFilter);
|
}, iqResultReplyFilter);
|
||||||
}
|
}
|
||||||
}, SetActiveListFilter.INSTANCE);
|
}, SetActiveListFilter.INSTANCE);
|
||||||
connection.addPacketSendingListener(new StanzaListener() {
|
connection.addStanzaSendingListener(new StanzaListener() {
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza packet) throws NotConnectedException {
|
public void processStanza(Stanza packet) throws NotConnectedException {
|
||||||
XMPPConnection connection = connection();
|
XMPPConnection connection = connection();
|
||||||
|
|
|
@ -279,7 +279,7 @@ public final class DeliveryReceiptManager extends Manager {
|
||||||
* @see #dontAutoAddDeliveryReceiptRequests()
|
* @see #dontAutoAddDeliveryReceiptRequests()
|
||||||
*/
|
*/
|
||||||
public void autoAddDeliveryReceiptRequests() {
|
public void autoAddDeliveryReceiptRequests() {
|
||||||
connection().addPacketInterceptor(AUTO_ADD_DELIVERY_RECEIPT_REQUESTS_LISTENER,
|
connection().addStanzaInterceptor(AUTO_ADD_DELIVERY_RECEIPT_REQUESTS_LISTENER,
|
||||||
MESSAGES_TO_REQUEST_RECEIPTS_FOR);
|
MESSAGES_TO_REQUEST_RECEIPTS_FOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ public final class DeliveryReceiptManager extends Manager {
|
||||||
* @see #autoAddDeliveryReceiptRequests()
|
* @see #autoAddDeliveryReceiptRequests()
|
||||||
*/
|
*/
|
||||||
public void dontAutoAddDeliveryReceiptRequests() {
|
public void dontAutoAddDeliveryReceiptRequests() {
|
||||||
connection().removePacketInterceptor(AUTO_ADD_DELIVERY_RECEIPT_REQUESTS_LISTENER);
|
connection().removeStanzaInterceptor(AUTO_ADD_DELIVERY_RECEIPT_REQUESTS_LISTENER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -337,7 +337,7 @@ public final class Roster extends Manager {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
connection.addPacketSendingListener(new StanzaListener() {
|
connection.addStanzaSendingListener(new StanzaListener() {
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza stanzav) throws NotConnectedException, InterruptedException {
|
public void processStanza(Stanza stanzav) throws NotConnectedException, InterruptedException {
|
||||||
// Once we send an unavailable presence, the server is allowed to suppress sending presence status
|
// Once we send an unavailable presence, the server is allowed to suppress sending presence status
|
||||||
|
|
|
@ -134,7 +134,7 @@ public class EntityCapsTest extends AbstractSmackIntegrationTest {
|
||||||
@SmackIntegrationTest
|
@SmackIntegrationTest
|
||||||
public void testPreventDiscoInfo() throws Exception {
|
public void testPreventDiscoInfo() throws Exception {
|
||||||
final String dummyFeature = getNewDummyFeature();
|
final String dummyFeature = getNewDummyFeature();
|
||||||
conOne.addPacketSendingListener(new StanzaListener() {
|
conOne.addStanzaSendingListener(new StanzaListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza stanza) {
|
public void processStanza(Stanza stanza) {
|
||||||
|
|
Loading…
Reference in a new issue