File indexing completed on 2024-05-19 05:57:22
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 <QObject> 0007 0008 #include "channeldata.h" 0009 #include "groupdata.h" 0010 #include "programdata.h" 0011 #include "types.h" 0012 0013 #include <QList> 0014 #include <QVector> 0015 0016 #include <functional> 0017 0018 class QString; 0019 0020 class FetcherImpl : public QObject 0021 { 0022 Q_OBJECT 0023 public: 0024 virtual ~FetcherImpl() = default; 0025 0026 virtual void fetchGroups(std::function<void(const QVector<GroupData> &)> callback = nullptr, 0027 std::function<void(const Error &)> errorCallback = nullptr) = 0; 0028 virtual void fetchGroup(const QString &url, 0029 const GroupId &groupId, 0030 std::function<void(const QList<ChannelData> &)> callback = nullptr, 0031 std::function<void(const Error &)> errorCallback = nullptr) = 0; 0032 virtual void fetchProgram(const ChannelId &channelId, 0033 std::function<void(const QVector<ProgramData> &)> callback = nullptr, 0034 std::function<void(const Error &)> errorCallback = nullptr) = 0; 0035 virtual void fetchProgramDescription(const ChannelId &channelId, 0036 const ProgramId &programId, 0037 const QString &url, 0038 std::function<void(const QString &)> callback = nullptr, 0039 std::function<void(const Error &)> errorCallback = nullptr) = 0; 0040 virtual QString image(const QString &url, std::function<void()> callback = nullptr, std::function<void(const Error &)> errorCallback = nullptr) = 0; 0041 virtual QString imagePath(const QString &url) = 0; 0042 };