// SPDX-FileCopyrightText: Nheko Contributors // // SPDX-License-Identifier: GPL-3.0-or-later #include "MatrixClient.h" #include #include #include #include #include #include #include "nlohmann/json.hpp" #include Q_DECLARE_METATYPE(mtx::responses::Login) Q_DECLARE_METATYPE(mtx::responses::Messages) Q_DECLARE_METATYPE(mtx::responses::Notifications) Q_DECLARE_METATYPE(mtx::responses::Rooms) Q_DECLARE_METATYPE(mtx::responses::Sync) Q_DECLARE_METATYPE(mtx::responses::StateEvents) // Q_DECLARE_METATYPE(nlohmann::json) Q_DECLARE_METATYPE(std::string) Q_DECLARE_METATYPE(std::vector) Q_DECLARE_METATYPE(std::vector) Q_DECLARE_METATYPE(std::set) namespace http { mtx::http::Client * client() { static auto client_ = [] { auto c = std::make_shared(); c->alt_svc_cache_path((QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + "/curl_alt_svc_cache.txt") .toStdString()); return c; }(); return client_.get(); } bool is_logged_in() { return !client()->access_token().empty(); } void init() { qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); // qRegisterMetaType(); qRegisterMetaType>(); qRegisterMetaType>(); qRegisterMetaType>("std::map"); qRegisterMetaType>(); } } // namespace http