trust summary gui delivery
This commit is contained in:
parent
fffef9876a
commit
4f295fee3c
13 changed files with 169 additions and 143 deletions
|
@ -18,9 +18,9 @@
|
|||
#include "core/account.h"
|
||||
#include "core/adapterfunctions.h"
|
||||
|
||||
using namespace Core;
|
||||
|
||||
Core::TrustHandler::TrustHandler(Account* account):
|
||||
QObject(),
|
||||
QXmppTrustStorage(),
|
||||
acc(account),
|
||||
db(acc->getName() + "/trust"),
|
||||
protocols(db.createDirectory() + "/protocols"),
|
||||
|
@ -161,7 +161,7 @@ QXmppTask<QHash<QString, QMultiHash<QString, QByteArray>>> Core::TrustHandler::s
|
|||
return Core::makeReadyTask(std::move(modifiedKeys));
|
||||
}
|
||||
|
||||
QXmppTask<bool> TrustHandler::hasKey(const QString& encryption,
|
||||
QXmppTask<bool> Core::TrustHandler::hasKey(const QString& encryption,
|
||||
const QString& keyOwnerJid,
|
||||
QXmpp::TrustLevels trustLevels)
|
||||
{
|
||||
|
@ -179,7 +179,7 @@ QXmppTask<bool> TrustHandler::hasKey(const QString& encryption,
|
|||
return Core::makeReadyTask(std::move(found));
|
||||
}
|
||||
|
||||
QXmppTask<QHash<QString, QHash<QByteArray, QXmpp::TrustLevel>>> TrustHandler::keys(
|
||||
QXmppTask<QHash<QString, QHash<QByteArray, QXmpp::TrustLevel>>> Core::TrustHandler::keys(
|
||||
const QString& encryption,
|
||||
const QList<QString>& keyOwnerJids,
|
||||
QXmpp::TrustLevels trustLevels)
|
||||
|
@ -202,7 +202,7 @@ QXmppTask<QHash<QString, QHash<QByteArray, QXmpp::TrustLevel>>> TrustHandler::ke
|
|||
return Core::makeReadyTask(std::move(res));
|
||||
}
|
||||
|
||||
QXmppTask<QHash<QXmpp::TrustLevel, QMultiHash<QString, QByteArray>>> TrustHandler::keys(
|
||||
QXmppTask<QHash<QXmpp::TrustLevel, QMultiHash<QString, QByteArray>>> Core::TrustHandler::keys(
|
||||
const QString& encryption,
|
||||
QXmpp::TrustLevels trustLevels)
|
||||
{
|
||||
|
@ -219,17 +219,17 @@ QXmppTask<QHash<QXmpp::TrustLevel, QMultiHash<QString, QByteArray>>> TrustHandle
|
|||
return Core::makeReadyTask(std::move(res));
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::removeKeys(const QString& encryption) {
|
||||
QXmppTask<void> Core::TrustHandler::removeKeys(const QString& encryption) {
|
||||
getCache(encryption)->drop();
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::removeKeys(const QString& encryption, const QString& keyOwnerJid) {
|
||||
QXmppTask<void> Core::TrustHandler::removeKeys(const QString& encryption, const QString& keyOwnerJid) {
|
||||
getCache(encryption)->removeRecord(keyOwnerJid);
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::removeKeys(const QString& encryption, const QList<QByteArray>& keyIds) {
|
||||
QXmppTask<void> Core::TrustHandler::removeKeys(const QString& encryption, const QList<QByteArray>& keyIds) {
|
||||
std::set<QByteArray> set;
|
||||
for (const QByteArray& keyId : keyIds)
|
||||
set.insert(keyId);
|
||||
|
@ -258,7 +258,7 @@ QXmppTask<void> TrustHandler::removeKeys(const QString& encryption, const QList<
|
|||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::addKeys(
|
||||
QXmppTask<void> Core::TrustHandler::addKeys(
|
||||
const QString& encryption,
|
||||
const QString& keyOwnerJid,
|
||||
const QList<QByteArray>& keyIds,
|
||||
|
@ -287,7 +287,7 @@ QXmppTask<void> TrustHandler::addKeys(
|
|||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QXmppTask<QByteArray> TrustHandler::ownKey(const QString& encryption) {
|
||||
QXmppTask<QByteArray> Core::TrustHandler::ownKey(const QString& encryption) {
|
||||
QByteArray res;
|
||||
try {
|
||||
res = ownKeys->getRecord(encryption);
|
||||
|
@ -295,7 +295,7 @@ QXmppTask<QByteArray> TrustHandler::ownKey(const QString& encryption) {
|
|||
return Core::makeReadyTask(std::move(res));
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::resetOwnKey(const QString& encryption) {
|
||||
QXmppTask<void> Core::TrustHandler::resetOwnKey(const QString& encryption) {
|
||||
try {
|
||||
ownKeys->removeRecord(encryption);
|
||||
} catch (const DataBase::NotFound& e) {}
|
||||
|
@ -303,12 +303,12 @@ QXmppTask<void> TrustHandler::resetOwnKey(const QString& encryption) {
|
|||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::setOwnKey(const QString& encryption, const QByteArray& keyId) {
|
||||
QXmppTask<void> Core::TrustHandler::setOwnKey(const QString& encryption, const QByteArray& keyId) {
|
||||
ownKeys->forceRecord(encryption, keyId);
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QXmppTask<QXmpp::TrustSecurityPolicy> TrustHandler::securityPolicy(const QString& encryption) {
|
||||
QXmppTask<QXmpp::TrustSecurityPolicy> Core::TrustHandler::securityPolicy(const QString& encryption) {
|
||||
QXmpp::TrustSecurityPolicy res;
|
||||
try {
|
||||
res = static_cast<QXmpp::TrustSecurityPolicy>(securityPolicies->getRecord(encryption));
|
||||
|
@ -316,14 +316,14 @@ QXmppTask<QXmpp::TrustSecurityPolicy> TrustHandler::securityPolicy(const QString
|
|||
return Core::makeReadyTask(std::move(res));
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::resetSecurityPolicy(const QString& encryption) {
|
||||
QXmppTask<void> Core::TrustHandler::resetSecurityPolicy(const QString& encryption) {
|
||||
try {
|
||||
securityPolicies->removeRecord(encryption);
|
||||
} catch (const DataBase::NotFound& e) {}
|
||||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
QXmppTask<void> TrustHandler::setSecurityPolicy(
|
||||
QXmppTask<void> Core::TrustHandler::setSecurityPolicy(
|
||||
const QString& encryption,
|
||||
QXmpp::TrustSecurityPolicy securityPolicy)
|
||||
{
|
||||
|
@ -333,8 +333,9 @@ QXmppTask<void> TrustHandler::setSecurityPolicy(
|
|||
return Core::makeReadyTask();
|
||||
}
|
||||
|
||||
Core::TrustHandler::Keys Core::TrustHandler::getKeys(const QString& protocol, const QString& jid) const {
|
||||
std::map<QString, KeyCache*>::const_iterator itr = keysByProtocol.find(protocol);
|
||||
Core::TrustHandler::Keys Core::TrustHandler::getKeys(Shared::EncryptionProtocol protocol, const QString& jid) const {
|
||||
const QString& prt = Shared::TrustSummary::protocolKeys.at(protocol);
|
||||
std::map<QString, KeyCache*>::const_iterator itr = keysByProtocol.find(prt);
|
||||
if (itr != keysByProtocol.end()) {
|
||||
try {
|
||||
Keys map = itr->second->getRecord(jid);
|
||||
|
@ -347,6 +348,21 @@ Core::TrustHandler::Keys Core::TrustHandler::getKeys(const QString& protocol, co
|
|||
}
|
||||
}
|
||||
|
||||
Shared::TrustSummary Core::TrustHandler::getSummary(const QString& jid) const {
|
||||
Shared::TrustSummary result;
|
||||
for (const std::pair<const QString, KeyCache*>& pair : keysByProtocol) {
|
||||
try {
|
||||
Keys keys = pair.second->getRecord(jid);
|
||||
Shared::EncryptionProtocol protocol = Shared::TrustSummary::protocolValues.at(pair.first);
|
||||
for (const std::pair<const QByteArray, Shared::TrustLevel>& trust : keys) {
|
||||
result.increment(protocol, trust.second);
|
||||
}
|
||||
} catch (const DataBase::NotFound& e) {}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Shared::TrustLevel Core::TrustHandler::convert(Core::TrustHandler::TL level) {
|
||||
switch (level) {
|
||||
case QXmpp::TrustLevel::Undecided: return Shared::TrustLevel::undecided;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue