Warning, file /utilities/telly-skout/src/networkfetcher.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 // SPDX-FileCopyrightText: 2022 Plata Hill <plata.hill@kdemail.net> 0002 // SPDX-License-Identifier: LGPL-2.1-or-later 0003 0004 #pragma once 0005 0006 #include "fetcherimpl.h" 0007 0008 #include "networkdataprovider.h" 0009 0010 class NetworkFetcher : public FetcherImpl 0011 { 0012 Q_OBJECT 0013 public: 0014 NetworkFetcher(QNetworkAccessManager *nam = nullptr); 0015 virtual ~NetworkFetcher() = default; 0016 0017 void fetchGroups(std::function<void(const QVector<GroupData> &)> callback = nullptr, 0018 std::function<void(const Error &)> errorCallback = nullptr) override = 0; 0019 void fetchGroup(const QString &url, 0020 const GroupId &groupId, 0021 std::function<void(const QList<ChannelData> &)> callback = nullptr, 0022 std::function<void(const Error &)> errorCallback = nullptr) override = 0; 0023 void fetchProgram(const ChannelId &channelId, 0024 std::function<void(const QVector<ProgramData> &)> callback = nullptr, 0025 std::function<void(const Error &)> errorCallback = nullptr) override = 0; 0026 void fetchProgramDescription(const ChannelId &channelId, 0027 const ProgramId &programId, 0028 const QString &url, 0029 std::function<void(const QString &)> callback = nullptr, 0030 std::function<void(const Error &)> errorCallback = nullptr) override = 0; 0031 QString image(const QString &url, std::function<void()> callback = nullptr, std::function<void(const Error &)> errorCallback = nullptr) override; 0032 QString imagePath(const QString &url) override; 0033 0034 protected: 0035 const NetworkDataProvider m_provider; 0036 0037 private: 0038 void downloadImage(const QString &url, std::function<void()> callback, std::function<void(const Error &)> errorCallback); 0039 };