keeping up with qxmpp
This commit is contained in:
parent
73d83f55af
commit
3c6b611a41
10 changed files with 146 additions and 153 deletions
|
@ -17,6 +17,7 @@
|
|||
#include <QDebug>
|
||||
#include "omemohandler.h"
|
||||
#include "core/account.h"
|
||||
#include "core/adapterfunctions.h"
|
||||
|
||||
Core::OmemoHandler::OmemoHandler(Account* account) :
|
||||
QXmppOmemoStorage(),
|
||||
|
@ -46,13 +47,7 @@ bool Core::OmemoHandler::hasOwnDevice() {
|
|||
return ownDevice.has_value();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::emptyVoidFuture() {
|
||||
QFutureInterface<QXmppOmemoStorage::OmemoData> result(QFutureInterfaceBase::Started);
|
||||
result.reportFinished();
|
||||
return result.future();
|
||||
}
|
||||
|
||||
QFuture<QXmppOmemoStorage::OmemoData> Core::OmemoHandler::allData() {
|
||||
QXmppTask<QXmppOmemoStorage::OmemoData> Core::OmemoHandler::allData() {
|
||||
OmemoData data;
|
||||
data.ownDevice = ownDevice;
|
||||
|
||||
|
@ -72,13 +67,10 @@ QFuture<QXmppOmemoStorage::OmemoData> Core::OmemoHandler::allData() {
|
|||
data.devices.insert(pair.first, pair.second);
|
||||
}
|
||||
|
||||
QFutureInterface<QXmppOmemoStorage::OmemoData> result(QFutureInterfaceBase::Started);
|
||||
result.reportResult(std::move(data));
|
||||
result.reportFinished();
|
||||
return result.future();
|
||||
return Core::makeReadyTask(std::move(data));
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::addDevice(const QString& jid, uint32_t deviceId, const QXmppOmemoStorage::Device& device) {
|
||||
QXmppTask<void> Core::OmemoHandler::addDevice(const QString& jid, uint32_t deviceId, const QXmppOmemoStorage::Device& device) {
|
||||
QHash<uint32_t, Device> devs;
|
||||
bool had = true;
|
||||
try {
|
||||
|
@ -94,23 +86,23 @@ QFuture<void> Core::OmemoHandler::addDevice(const QString& jid, uint32_t deviceI
|
|||
devices->addRecord(jid, devs);
|
||||
}
|
||||
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::addPreKeyPairs(const QHash<uint32_t, QByteArray>& keyPairs) {
|
||||
QXmppTask<void> Core::OmemoHandler::addPreKeyPairs(const QHash<uint32_t, QByteArray>& keyPairs) {
|
||||
for (QHash<uint32_t, QByteArray>::const_iterator itr = keyPairs.begin(), end = keyPairs.end(); itr != end; ++itr) {
|
||||
preKeyPairs->forceRecord(itr.key(), itr.value());
|
||||
}
|
||||
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::addSignedPreKeyPair(uint32_t keyId, const QXmppOmemoStorage::SignedPreKeyPair& keyPair) {
|
||||
QXmppTask<void> Core::OmemoHandler::addSignedPreKeyPair(uint32_t keyId, const QXmppOmemoStorage::SignedPreKeyPair& keyPair) {
|
||||
signedPreKeyPairs->forceRecord(keyId, std::make_pair(keyPair.creationDate, keyPair.data));
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::removeDevice(const QString& jid, uint32_t deviceId) {
|
||||
QXmppTask<void> Core::OmemoHandler::removeDevice(const QString& jid, uint32_t deviceId) {
|
||||
QHash<uint32_t, Device> devs = devices->getRecord(jid);
|
||||
devs.remove(deviceId);
|
||||
if (devs.isEmpty()) {
|
||||
|
@ -118,25 +110,27 @@ QFuture<void> Core::OmemoHandler::removeDevice(const QString& jid, uint32_t devi
|
|||
} else {
|
||||
devices->changeRecord(jid, devs);
|
||||
}
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::removeDevices(const QString& jid) {
|
||||
QXmppTask<void> Core::OmemoHandler::removeDevices(const QString& jid) {
|
||||
devices->removeRecord(jid);
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::removePreKeyPair(uint32_t keyId) {
|
||||
QXmppTask<void> Core::OmemoHandler::removePreKeyPair(uint32_t keyId) {
|
||||
preKeyPairs->removeRecord(keyId);
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::removeSignedPreKeyPair(uint32_t keyId) {
|
||||
signedPreKeyPairs->removeRecord(keyId);
|
||||
return emptyVoidFuture();
|
||||
QXmppTask<void> Core::OmemoHandler::removeSignedPreKeyPair(uint32_t keyId) {
|
||||
try {
|
||||
signedPreKeyPairs->removeRecord(keyId);
|
||||
} catch (const DataBase::NotFound& e) {}
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::setOwnDevice(const std::optional<OwnDevice>& device) {
|
||||
QXmppTask<void> Core::OmemoHandler::setOwnDevice(const std::optional<OwnDevice>& device) {
|
||||
bool had = ownDevice.has_value();
|
||||
ownDevice = device;
|
||||
if (ownDevice.has_value()) {
|
||||
|
@ -150,14 +144,14 @@ QFuture<void> Core::OmemoHandler::setOwnDevice(const std::optional<OwnDevice>& d
|
|||
meta->removeRecord("ownDevice");
|
||||
}
|
||||
}
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QFuture<void> Core::OmemoHandler::resetAll() {
|
||||
QXmppTask<void> Core::OmemoHandler::resetAll() {
|
||||
ownDevice = std::nullopt;
|
||||
db.drop();
|
||||
|
||||
return emptyVoidFuture();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QDataStream & operator >> (QDataStream& in, QXmppOmemoStorage::Device& device) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue