/
erhoof
/
telegraf
Обзор
Документация
Войти
/
erhoof
/
telegraf
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/data/tdlibfiledownloader.cpp
31 строка
1 KB
mbarashkov
Оптимизировано скачивание файлов
01 июл 2025, 20:19
01 июл 2025, 20:19
347468f
Код
Авторство
О чём код?
#include "tdlibfiledownloader.h" #include "../tdlib/tdlibrequestsender.h" #include "../tdlib/tdlibresponsehandler.h" #include "../debuglog.h" TDLibFileDownloader* TDLibFileDownloader::instance; TDLibFileDownloader::TDLibFileDownloader(QObject *parent): QObject(parent) { TDLibFileDownloader::instance = this; connect(TDLibResponseHandler::getInstance(), SIGNAL(fileUpdated(int,QVariantMap)), SLOT(handleFileUpdated(int,QVariantMap))); }; void TDLibFileDownloader::callDownloadFile(int fileId) { if(downloadedFilesCache.contains(fileId)) { emit fileUpdated(fileId, downloadedFilesCache[fileId]); } if(downloadingFiles.contains(fileId)) { return; } downloadingFiles.append(fileId); TDLibRequestService::getInstance()->sendRequest(TDLibRequestFactory::getInstance()->downloadFileRequest(fileId)); } void TDLibFileDownloader::handleFileUpdated(int fileId, const QVariantMap &fileInfo) { downloadedFilesCache[fileId] = fileInfo; emit fileUpdated(fileId, fileInfo); }