aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppClient.h
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2020-09-09 15:32:01 +0200
committerLinus Jahn <lnj@kaidan.im>2021-01-09 14:37:47 +0100
commitaf22e07a2300dc18ec62eee30508569062d918b3 (patch)
tree753c28084811c1beac0d1657eb193aa756703e4d /src/client/QXmppClient.h
parent8570b4c56616547e5fa2530e6b9733fb37cf02a3 (diff)
downloadqxmpp-af22e07a2300dc18ec62eee30508569062d918b3.tar.gz
QXmppClient: Advertise stream management state
Diffstat (limited to 'src/client/QXmppClient.h')
-rw-r--r--src/client/QXmppClient.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/client/QXmppClient.h b/src/client/QXmppClient.h
index 02c580c3..0afe6235 100644
--- a/src/client/QXmppClient.h
+++ b/src/client/QXmppClient.h
@@ -89,7 +89,7 @@ class QXmppVersionManager;
/// - QXmppEntityTimeManager
///
/// \ingroup Core
-
+///
class QXMPP_EXPORT QXmppClient : public QXmppLoggable
{
Q_OBJECT
@@ -118,6 +118,16 @@ public:
};
Q_ENUM(State)
+ /// Describes the use of \xep{0198}: Stream Management
+ enum StreamManagementState {
+ /// Stream Management is not used.
+ NoStreamManagement,
+ /// Stream Management is used and the previous stream has not been resumed.
+ NewStream,
+ /// Stream Management is used and the previous stream has been resumed.
+ ResumedStream
+ };
+
QXmppClient(QObject *parent = nullptr);
~QXmppClient() override;
@@ -127,6 +137,7 @@ public:
QList<QXmppClientExtension *> extensions();
+ ///
/// \brief Returns the extension which can be cast into type T*, or 0
/// if there is no such extension.
///
@@ -151,6 +162,7 @@ public:
return nullptr;
}
+ ///
/// \brief Returns the index of an extension
///
/// Usage example:
@@ -182,6 +194,8 @@ public:
bool isActive() const;
void setActive(bool active);
+ StreamManagementState streamManagementState() const;
+
QXmppPresence clientPresence() const;
void setClientPresence(const QXmppPresence &presence);