/
alexashkin
/
telegraph
Обзор
Документация
Войти
/
alexashkin
/
telegraph
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/data/tdlibcache.cpp
62 строки
2 KB
mbarashkov
Добавлен небольшой класс tdLibCache
21 фев 2025, 16:03
21 фев 2025, 16:03
da7875f
Код
Авторство
О чём код?
#include "tdlibcache.h" #include <QDebug> namespace { const char ID[] = "id"; const char USERNAMES[] = "usernames"; const char EDITABLE_USERNAME[] = "editable_username"; } TDLibCache::TDLibCache(QObject *parent) : QObject(parent) { } void TDLibCache::putUser(const qlonglong userId, const QVariantMap &userInformation) { userCacheById.insert(userId, userInformation); userCacheByName.insert( userInformation.value(USERNAMES).toMap().value(EDITABLE_USERNAME).toString(), userInformation ); } QVariantMap TDLibCache::getUserById(const qlonglong userId) const { return userCacheById.value(userId); } QVariantMap TDLibCache::getUserByName(const QString &name) const { return userCacheByName.value(name); } bool TDLibCache::containsUserById(const qlonglong userId) const { return userCacheById.contains(userId); } QVariantMap TDLibCache::getChat(const qlonglong chatId) const { return chatCacheById.value(chatId); } void TDLibCache::putChat(const QVariantMap &chatInformation) { qlonglong chatId = chatInformation.value(ID).toLongLong(); chatCacheById.insert(chatId, chatInformation); } bool TDLibCache::containsUserNameById(const qlonglong userId) const { return userNamesCacheById.contains(userId); } QString TDLibCache::getUserName(const qlonglong userId) const { return userNamesCacheById.value(userId); } void TDLibCache::putUserName(const qlonglong userId, const QString userName) { userNamesCacheById.insert(userId, userName); } void TDLibCache::clear() { userCacheById.clear(); userCacheByName.clear(); chatCacheById.clear(); userNamesCacheById.clear(); }