diff options
| author | Niels Ole Salscheider <niels_ole@salscheider-online.de> | 2017-02-12 17:18:06 +0100 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2017-02-12 17:18:06 +0100 |
| commit | 084eb01fb395488a0a3aee799be2b72ce11aa220 (patch) | |
| tree | 6fec32386c116b0560b9c5d81412993361a2f453 /src/base/QXmppStream.h | |
| parent | 9deb86b248fee6bb9bcee14d595a933c8fdc4aa2 (diff) | |
| download | qxmpp-084eb01fb395488a0a3aee799be2b72ce11aa220.tar.gz | |
Implement XEP-0198: Stream Management (client only) (#99)
* Some features can be available with different namespaces (e.g. SM)
* Provide static functions to convert between strings and stream errors
Stream management will reuse this for <failed />.
* [travis] test builds using clang
* Implement XEP-0198: Stream Management (client only)
* QXmppOutgoingClient: Move private methods to QXmppOutgoingClientPrivate
Diffstat (limited to 'src/base/QXmppStream.h')
| -rw-r--r-- | src/base/QXmppStream.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/base/QXmppStream.h b/src/base/QXmppStream.h index 3411e2e9..c0ac1807 100644 --- a/src/base/QXmppStream.h +++ b/src/base/QXmppStream.h @@ -74,6 +74,30 @@ protected: /// \param element virtual void handleStream(const QDomElement &element) = 0; + /// Enables Stream Management acks / reqs (XEP-0198). + /// + /// \param resetSeqno Indicates if the sequence numbers should be resetted. + /// This must be done iff the stream is not resumed. + void enableStreamManagement(bool resetSequenceNumber); + + /// Returns the sequence number of the last incoming stanza (XEP-0198). + unsigned lastIncomingSequenceNumber() const; + + /// Sets the last acknowledged sequence number for outgoing stanzas (XEP-0198). + void setAcknowledgedSequenceNumber(unsigned sequenceNumber); + +private: + /// Handles an incoming acknowledgement from XEP-0198. + /// + /// \param element + void handleAcknowledgement(QDomElement &element); + + /// Sends an acknowledgement as defined in XEP-0198. + void sendAcknowledgement(); + + /// Sends an acknowledgement request as defined in XEP-0198. + void sendAcknowledgementRequest(); + public slots: virtual void disconnectFromHost(); virtual bool sendData(const QByteArray&); |
