aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Schwan <carl@carlschwan.eu>2021-02-26 15:00:55 +0100
committerCarl Schwan <carl@carlschwan.eu>2021-02-26 15:00:55 +0100
commitf5862e8b6fccb85f7080ccddcdea436540588b36 (patch)
tree611e3518cff4828432084c4ca9f4150ec7cf1bbe
parent382b08fc5ad9f22dacb2e6504869c42062565e7c (diff)
downloadlibquotient-f5862e8b6fccb85f7080ccddcdea436540588b36.tar.gz
libquotient-f5862e8b6fccb85f7080ccddcdea436540588b36.zip
Add public method to determine if we can change the user password
-rw-r--r--lib/connection.cpp9
-rw-r--r--lib/connection.h5
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/connection.cpp b/lib/connection.cpp
index d773f0d8..91de2e4e 100644
--- a/lib/connection.cpp
+++ b/lib/connection.cpp
@@ -1745,6 +1745,15 @@ QStringList Connection::stableRoomVersions() const
return l;
}
+bool Connection::canChangePassword() const
+{
+ if (!d->capabilities.changePassword) {
+ // assume we can
+ return true;
+ }
+ return d->capabilities.changePassword->enabled;
+}
+
inline bool roomVersionLess(const Connection::SupportedRoomVersion& v1,
const Connection::SupportedRoomVersion& v2)
{
diff --git a/lib/connection.h b/lib/connection.h
index 4f949641..0d22d01f 100644
--- a/lib/connection.h
+++ b/lib/connection.h
@@ -354,6 +354,11 @@ public:
* \sa loadingCapabilities */
QVector<SupportedRoomVersion> availableRoomVersions() const;
+ /// Indicate if the user can change its password from the client.
+ /// This is often not the case when SSO is enabled.
+ /// \sa loadingCapabilities
+ bool canChangePassword() const;
+
/**
* Call this before first sync to load from previously saved file.
*