// Squawk messenger. // Copyright (C) 2019 Yury Gubich // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "clientcache.h" Core::ClientCache::ClientCache(): requested(), cache("clients") { cache.open(); } Core::ClientCache::~ClientCache() { cache.close(); } void Core::ClientCache::open() { cache.open();} void Core::ClientCache::close() { cache.close();} bool Core::ClientCache::checkClient(const QString& node, const QString& ver, const QString& hash) { QString id = node + "/" + ver; if (requested.count(id) == 0 && !cache.checkRecord(id)) { Shared::ClientInfo& info = requested.insert(std::make_pair(id, Shared::ClientInfo())).first->second; info.capabilitiesNode = node; info.capabilitiesVerification = ver; info.capabilitiesHash = hash; emit requestClientInfo(id); return false; } return true; } bool Core::ClientCache::registerClientInfo(const QString& sourceFullJid, const QString& id, const Shared::Identity& identity, const std::set& features) { }