aboutsummaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/QXmppOmemoData.cpp30
-rw-r--r--src/base/QXmppOmemoDeviceBundle.h3
2 files changed, 19 insertions, 14 deletions
diff --git a/src/base/QXmppOmemoData.cpp b/src/base/QXmppOmemoData.cpp
index 1ab62b3e..7897731d 100644
--- a/src/base/QXmppOmemoData.cpp
+++ b/src/base/QXmppOmemoData.cpp
@@ -365,23 +365,27 @@ QHash<uint32_t, QByteArray> QXmppOmemoDeviceBundle::publicPreKeys() const
}
///
-/// Sets the public pre keys.
+/// Adds a public pre key.
///
-/// The key of a key-value pair represents the ID of the corresponding public
-/// pre key.
-/// The ID must be at least 1 and at most 2^32-1, otherwise the corresponding
-/// key-value pair is ignored.
-/// The value of a key-value pair represents the public pre key.
+/// The ID must be at least 1 and at most 2^32-1.
///
-/// \param keys public pre keys
+/// \param id ID of the public pre key
+/// \param key public pre key
///
-void QXmppOmemoDeviceBundle::setPublicPreKeys(const QMap<uint32_t, QByteArray> &keys)
+void QXmppOmemoDeviceBundle::addPublicPreKey(const uint32_t id, const QByteArray &key)
{
- for (auto it = keys.cbegin(); it != keys.cend(); it++) {
- if (it.key() > 0) {
- d->publicPreKeys.insert(it.key(), it.value());
- }
- }
+ d->publicPreKeys.insert(id, key);
+}
+
+///
+/// Removes a public pre key.
+///
+/// \param id ID of the public pre key
+/// \param key public pre key
+///
+void QXmppOmemoDeviceBundle::removePublicPreKey(const uint32_t id)
+{
+ d->publicPreKeys.remove(id);
}
/// \cond
diff --git a/src/base/QXmppOmemoDeviceBundle.h b/src/base/QXmppOmemoDeviceBundle.h
index f36776ca..97c6d2c8 100644
--- a/src/base/QXmppOmemoDeviceBundle.h
+++ b/src/base/QXmppOmemoDeviceBundle.h
@@ -36,7 +36,8 @@ public:
void setSignedPublicPreKeySignature(const QByteArray &signature);
QHash<uint32_t, QByteArray> publicPreKeys() const;
- void setPublicPreKeys(const QMap<uint32_t, QByteArray> &keys);
+ void addPublicPreKey(uint32_t id, const QByteArray &key);
+ void removePublicPreKey(uint32_t id);
/// \cond
void parse(const QDomElement &element);