aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppStream.h
diff options
context:
space:
mode:
authorNiels Ole Salscheider <niels_ole@salscheider-online.de>2017-02-12 17:18:06 +0100
committerJeremy Lainé <jeremy.laine@m4x.org>2017-02-12 17:18:06 +0100
commit084eb01fb395488a0a3aee799be2b72ce11aa220 (patch)
tree6fec32386c116b0560b9c5d81412993361a2f453 /src/base/QXmppStream.h
parent9deb86b248fee6bb9bcee14d595a933c8fdc4aa2 (diff)
downloadqxmpp-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.h24
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&);