summary refs log tree commit diff
path: root/src/Cache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Cache.cpp')
-rw-r--r--src/Cache.cpp30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/Cache.cpp b/src/Cache.cpp

index 083dbe89..d3aec9db 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp
@@ -17,6 +17,7 @@ #include <limits> #include <stdexcept> +#include <variant> #include <QByteArray> #include <QCoreApplication> @@ -26,7 +27,6 @@ #include <QSettings> #include <QStandardPaths> -#include <boost/variant.hpp> #include <mtx/responses/common.hpp> #include "Cache.h" @@ -395,7 +395,7 @@ Cache::saveOlmSession(const std::string &curve25519, mtx::crypto::OlmSessionPtr txn.commit(); } -boost::optional<mtx::crypto::OlmSessionPtr> +std::optional<mtx::crypto::OlmSessionPtr> Cache::getOlmSession(const std::string &curve25519, const std::string &session_id) { using namespace mtx::crypto; @@ -413,7 +413,7 @@ Cache::getOlmSession(const std::string &curve25519, const std::string &session_i return unpickle<SessionObject>(data, SECRET); } - return boost::none; + return std::nullopt; } std::vector<std::string> @@ -967,8 +967,8 @@ Cache::saveState(const mtx::responses::Sync &res) bool has_new_tags = false; for (const auto &evt : room.second.account_data.events) { // for now only fetch tag events - if (evt.type() == typeid(Event<account_data::Tag>)) { - auto tags_evt = boost::get<Event<account_data::Tag>>(evt); + if (std::holds_alternative<Event<account_data::Tag>>(evt)) { + auto tags_evt = std::get<Event<account_data::Tag>>(evt); has_new_tags = true; for (const auto &tag : tags_evt.content.tags) { updatedInfo.tags.push_back(tag.first); @@ -1049,19 +1049,17 @@ Cache::saveInvite(lmdb::txn &txn, using namespace mtx::events::state; for (const auto &e : room.invite_state) { - if (boost::get<StrippedEvent<Member>>(&e) != nullptr) { - auto msg = boost::get<StrippedEvent<Member>>(e); + if (auto msg = std::get_if<StrippedEvent<Member>>(&e)) { + auto display_name = msg->content.display_name.empty() + ? msg->state_key + : msg->content.display_name; - auto display_name = msg.content.display_name.empty() - ? msg.state_key - : msg.content.display_name; - - MemberInfo tmp{display_name, msg.content.avatar_url}; + MemberInfo tmp{display_name, msg->content.avatar_url}; lmdb::dbi_put( - txn, membersdb, lmdb::val(msg.state_key), lmdb::val(json(tmp).dump())); + txn, membersdb, lmdb::val(msg->state_key), lmdb::val(json(tmp).dump())); } else { - boost::apply_visitor( + std::visit( [&txn, &statesdb](auto msg) { bool res = lmdb::dbi_put(txn, statesdb, @@ -1122,7 +1120,7 @@ Cache::roomsWithTagUpdates(const mtx::responses::Sync &res) for (const auto &room : res.rooms.join) { bool hasUpdates = false; for (const auto &evt : room.second.account_data.events) { - if (evt.type() == typeid(Event<account_data::Tag>)) { + if (std::holds_alternative<Event<account_data::Tag>>(evt)) { hasUpdates = true; } } @@ -1940,7 +1938,7 @@ Cache::saveTimelineMessages(lmdb::txn &txn, if (isStateEvent(e)) continue; - if (boost::get<RedactionEvent<msg::Redaction>>(&e) != nullptr) + if (std::holds_alternative<RedactionEvent<msg::Redaction>>(e)) continue; json obj = json::object();