aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/connection.cpp16
-rw-r--r--lib/connection.h4
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/connection.cpp b/lib/connection.cpp
index b585fcc6..4abb77a5 100644
--- a/lib/connection.cpp
+++ b/lib/connection.cpp
@@ -2154,4 +2154,20 @@ void Connection::saveMegolmSession(Room* room, const QString& senderKey, QOlmInb
{
database()->saveMegolmSession(room->id(), senderKey, session->sessionId(), session->pickle(picklingMode()));
}
+
+QStringList Connection::devicesForUser(User* user) const
+{
+ return d->deviceKeys[user->id()].keys();
+}
+
+QString Connection::curveKeyForUserDevice(const QString& user, const QString& device) const
+{
+ return d->deviceKeys[user][device].keys["curve25519:" % device];
+}
+
+QString Connection::edKeyForUserDevice(const QString& user, const QString& device) const
+{
+ return d->deviceKeys[user][device].keys["ed25519:" % device];
+}
+
#endif
diff --git a/lib/connection.h b/lib/connection.h
index 165d8d68..4a475319 100644
--- a/lib/connection.h
+++ b/lib/connection.h
@@ -680,6 +680,10 @@ public Q_SLOTS:
void encryptionUpdate(Room *room);
PicklingMode picklingMode() const;
QJsonObject decryptNotification(const QJsonObject &notification);
+
+ QStringList devicesForUser(User* user) const;
+ QString curveKeyForUserDevice(const QString &user, const QString& device) const;
+ QString edKeyForUserDevice(const QString& user, const QString& device) const;
#endif
Q_SIGNALS:
/// \brief Initial server resolution has failed