diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-12-22 16:09:56 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-12-22 16:17:19 +0100 |
| commit | 681a4cc6a36486953b82baaa5a7e1e0e6fd6a070 (patch) | |
| tree | 99c943ca3191832e47084497bb60aa994f058a85 /src/omemo/QXmppOmemoManager_p.cpp | |
| parent | 0e88e97654d46aa709378d67334119f43eeda611 (diff) | |
OmemoManagerPrivate: Use chain() in setUpDeviceId()
Diffstat (limited to 'src/omemo/QXmppOmemoManager_p.cpp')
| -rw-r--r-- | src/omemo/QXmppOmemoManager_p.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/omemo/QXmppOmemoManager_p.cpp b/src/omemo/QXmppOmemoManager_p.cpp index 237c0a24..eb727d68 100644 --- a/src/omemo/QXmppOmemoManager_p.cpp +++ b/src/omemo/QXmppOmemoManager_p.cpp @@ -616,10 +616,8 @@ signal_protocol_session_store ManagerPrivate::createSessionStore() const // QFuture<bool> ManagerPrivate::setUpDeviceId() { - QFutureInterface<bool> interface(QFutureInterfaceBase::Started); - auto future = pubSubManager->requestPepItemIds(ns_omemo_2_bundles); - await(future, q, [=](QXmppPubSubManager::ItemIdsResult result) mutable { + return chain<bool>(future, q, [this](QXmppPubSubManager::ItemIdsResult result) mutable { // There can be the following cases: // 1. There is no PubSub node for device bundles: XEP-0030 states that a server must // respond with an error (at least ejabberd 22.05 responds with an empty node instead). @@ -627,7 +625,7 @@ QFuture<bool> ManagerPrivate::setUpDeviceId() // respond with a node without included items. if (auto error = std::get_if<Error>(&result); error && !(error->type() == Error::Cancel && error->condition() == Error::ItemNotFound)) { warning("Existing / Published device IDs could not be retrieved: " % errorToString(*error)); - reportFinishedResult(interface, false); + return false; } else { // The first generated device ID can be used if no device bundle node exists. // Otherwise, duplicates must be avoided. @@ -635,11 +633,9 @@ QFuture<bool> ManagerPrivate::setUpDeviceId() if (deviceId) { ownDevice.id = *deviceId; } - reportFinishedResult(interface, deviceId.has_value()); + return deviceId.has_value(); } }); - - return interface.future(); } // |
