1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-11-25 02:15:17 +00:00
harbour-sailfin/core/include/JellyfinQt/loader/http/livetv.h
Chris Josten 96ecd8e7d8 Refractor ApiClient and add support for body params
ApiClient was refractored to use PIMPL. This is mainly done to reduce
compile times whenever the implementation of ApiClient itself changes,
since a lot of files include it.

The loaders have gained support for body parameters, this was somehow
omitted before.
2021-09-03 03:47:25 +02:00

474 lines
17 KiB
C++

/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_LOADER_HTTP_LIVETV_H
#define JELLYFIN_LOADER_HTTP_LIVETV_H
#include <optional>
#include "JellyfinQt/support/jsonconv.h"
#include "JellyfinQt/support/loader.h"
#include "JellyfinQt/loader/requesttypes.h"
#include "JellyfinQt/dto/channelmappingoptionsdto.h"
#include "JellyfinQt/dto/tunerchannelmapping.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/guideinfo.h"
#include "JellyfinQt/dto/livetvinfo.h"
#include "JellyfinQt/dto/listingsproviderinfo.h"
#include "JellyfinQt/dto/listingsproviderinfo.h"
#include "JellyfinQt/dto/nameidpair.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/seriestimerinfodtoqueryresult.h"
#include "JellyfinQt/dto/seriestimerinfodto.h"
#include "JellyfinQt/dto/timerinfodtoqueryresult.h"
#include "JellyfinQt/dto/timerinfodto.h"
#include "JellyfinQt/dto/seriestimerinfodto.h"
#include "JellyfinQt/dto/tunerhostinfo.h"
#include "JellyfinQt/dto/nameidpair.h"
#include "JellyfinQt/dto/tunerhostinfo.h"
#include "JellyfinQt/dto/tunerhostinfo.h"
namespace Jellyfin {
// Forward declaration
class ApiClient;
}
namespace Jellyfin {
namespace Loader {
namespace HTTP {
using namespace Jellyfin::DTO;
/**
* @brief Get channel mapping options.
*/
class GetChannelMappingOptionsLoader : public Jellyfin::Support::HttpLoader<ChannelMappingOptionsDto, GetChannelMappingOptionsParams> {
public:
explicit GetChannelMappingOptionsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetChannelMappingOptionsParams& parameters) const override;
QUrlQuery query(const GetChannelMappingOptionsParams& parameters) const override;
QByteArray body(const GetChannelMappingOptionsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Set channel mappings.
*/
class SetChannelMappingLoader : public Jellyfin::Support::HttpLoader<TunerChannelMapping, SetChannelMappingParams> {
public:
explicit SetChannelMappingLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const SetChannelMappingParams& parameters) const override;
QUrlQuery query(const SetChannelMappingParams& parameters) const override;
QByteArray body(const SetChannelMappingParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets available live tv channels.
*/
class GetLiveTvChannelsLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetLiveTvChannelsParams> {
public:
explicit GetLiveTvChannelsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetLiveTvChannelsParams& parameters) const override;
QUrlQuery query(const GetLiveTvChannelsParams& parameters) const override;
QByteArray body(const GetLiveTvChannelsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets a live tv channel.
*/
class GetChannelLoader : public Jellyfin::Support::HttpLoader<BaseItemDto, GetChannelParams> {
public:
explicit GetChannelLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetChannelParams& parameters) const override;
QUrlQuery query(const GetChannelParams& parameters) const override;
QByteArray body(const GetChannelParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Get guid info.
*/
class GetGuideInfoLoader : public Jellyfin::Support::HttpLoader<GuideInfo, GetGuideInfoParams> {
public:
explicit GetGuideInfoLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetGuideInfoParams& parameters) const override;
QUrlQuery query(const GetGuideInfoParams& parameters) const override;
QByteArray body(const GetGuideInfoParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets available live tv services.
*/
class GetLiveTvInfoLoader : public Jellyfin::Support::HttpLoader<LiveTvInfo, GetLiveTvInfoParams> {
public:
explicit GetLiveTvInfoLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetLiveTvInfoParams& parameters) const override;
QUrlQuery query(const GetLiveTvInfoParams& parameters) const override;
QByteArray body(const GetLiveTvInfoParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Adds a listings provider.
*/
class AddListingProviderLoader : public Jellyfin::Support::HttpLoader<ListingsProviderInfo, AddListingProviderParams> {
public:
explicit AddListingProviderLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const AddListingProviderParams& parameters) const override;
QUrlQuery query(const AddListingProviderParams& parameters) const override;
QByteArray body(const AddListingProviderParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets default listings provider info.
*/
class GetDefaultListingProviderLoader : public Jellyfin::Support::HttpLoader<ListingsProviderInfo, GetDefaultListingProviderParams> {
public:
explicit GetDefaultListingProviderLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetDefaultListingProviderParams& parameters) const override;
QUrlQuery query(const GetDefaultListingProviderParams& parameters) const override;
QByteArray body(const GetDefaultListingProviderParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets available lineups.
*/
class GetLineupsLoader : public Jellyfin::Support::HttpLoader<QList<NameIdPair>, GetLineupsParams> {
public:
explicit GetLineupsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetLineupsParams& parameters) const override;
QUrlQuery query(const GetLineupsParams& parameters) const override;
QByteArray body(const GetLineupsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets available countries.
*/
class GetSchedulesDirectCountriesLoader : public Jellyfin::Support::HttpLoader<QString, GetSchedulesDirectCountriesParams> {
public:
explicit GetSchedulesDirectCountriesLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetSchedulesDirectCountriesParams& parameters) const override;
QUrlQuery query(const GetSchedulesDirectCountriesParams& parameters) const override;
QByteArray body(const GetSchedulesDirectCountriesParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets available live tv epgs.
*/
class GetLiveTvProgramsLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetLiveTvProgramsParams> {
public:
explicit GetLiveTvProgramsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetLiveTvProgramsParams& parameters) const override;
QUrlQuery query(const GetLiveTvProgramsParams& parameters) const override;
QByteArray body(const GetLiveTvProgramsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets available live tv epgs.
*/
class GetProgramsLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetProgramsParams> {
public:
explicit GetProgramsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetProgramsParams& parameters) const override;
QUrlQuery query(const GetProgramsParams& parameters) const override;
QByteArray body(const GetProgramsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets a live tv program.
*/
class GetProgramLoader : public Jellyfin::Support::HttpLoader<BaseItemDto, GetProgramParams> {
public:
explicit GetProgramLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetProgramParams& parameters) const override;
QUrlQuery query(const GetProgramParams& parameters) const override;
QByteArray body(const GetProgramParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets recommended live tv epgs.
*/
class GetRecommendedProgramsLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetRecommendedProgramsParams> {
public:
explicit GetRecommendedProgramsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetRecommendedProgramsParams& parameters) const override;
QUrlQuery query(const GetRecommendedProgramsParams& parameters) const override;
QByteArray body(const GetRecommendedProgramsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets live tv recordings.
*/
class GetRecordingsLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetRecordingsParams> {
public:
explicit GetRecordingsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetRecordingsParams& parameters) const override;
QUrlQuery query(const GetRecordingsParams& parameters) const override;
QByteArray body(const GetRecordingsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets a live tv recording.
*/
class GetRecordingLoader : public Jellyfin::Support::HttpLoader<BaseItemDto, GetRecordingParams> {
public:
explicit GetRecordingLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetRecordingParams& parameters) const override;
QUrlQuery query(const GetRecordingParams& parameters) const override;
QByteArray body(const GetRecordingParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets recording folders.
*/
class GetRecordingFoldersLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetRecordingFoldersParams> {
public:
explicit GetRecordingFoldersLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetRecordingFoldersParams& parameters) const override;
QUrlQuery query(const GetRecordingFoldersParams& parameters) const override;
QByteArray body(const GetRecordingFoldersParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets live tv recording groups.
*/
class GetRecordingGroupsLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetRecordingGroupsParams> {
public:
explicit GetRecordingGroupsLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetRecordingGroupsParams& parameters) const override;
QUrlQuery query(const GetRecordingGroupsParams& parameters) const override;
QByteArray body(const GetRecordingGroupsParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets live tv recording series.
*/
class GetRecordingsSeriesLoader : public Jellyfin::Support::HttpLoader<BaseItemDtoQueryResult, GetRecordingsSeriesParams> {
public:
explicit GetRecordingsSeriesLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetRecordingsSeriesParams& parameters) const override;
QUrlQuery query(const GetRecordingsSeriesParams& parameters) const override;
QByteArray body(const GetRecordingsSeriesParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets live tv series timers.
*/
class GetSeriesTimersLoader : public Jellyfin::Support::HttpLoader<SeriesTimerInfoDtoQueryResult, GetSeriesTimersParams> {
public:
explicit GetSeriesTimersLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetSeriesTimersParams& parameters) const override;
QUrlQuery query(const GetSeriesTimersParams& parameters) const override;
QByteArray body(const GetSeriesTimersParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets a live tv series timer.
*/
class GetSeriesTimerLoader : public Jellyfin::Support::HttpLoader<SeriesTimerInfoDto, GetSeriesTimerParams> {
public:
explicit GetSeriesTimerLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetSeriesTimerParams& parameters) const override;
QUrlQuery query(const GetSeriesTimerParams& parameters) const override;
QByteArray body(const GetSeriesTimerParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets the live tv timers.
*/
class GetTimersLoader : public Jellyfin::Support::HttpLoader<TimerInfoDtoQueryResult, GetTimersParams> {
public:
explicit GetTimersLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetTimersParams& parameters) const override;
QUrlQuery query(const GetTimersParams& parameters) const override;
QByteArray body(const GetTimersParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets a timer.
*/
class GetTimerLoader : public Jellyfin::Support::HttpLoader<TimerInfoDto, GetTimerParams> {
public:
explicit GetTimerLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetTimerParams& parameters) const override;
QUrlQuery query(const GetTimerParams& parameters) const override;
QByteArray body(const GetTimerParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets the default values for a new timer.
*/
class GetDefaultTimerLoader : public Jellyfin::Support::HttpLoader<SeriesTimerInfoDto, GetDefaultTimerParams> {
public:
explicit GetDefaultTimerLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetDefaultTimerParams& parameters) const override;
QUrlQuery query(const GetDefaultTimerParams& parameters) const override;
QByteArray body(const GetDefaultTimerParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Adds a tuner host.
*/
class AddTunerHostLoader : public Jellyfin::Support::HttpLoader<TunerHostInfo, AddTunerHostParams> {
public:
explicit AddTunerHostLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const AddTunerHostParams& parameters) const override;
QUrlQuery query(const AddTunerHostParams& parameters) const override;
QByteArray body(const AddTunerHostParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Get tuner host types.
*/
class GetTunerHostTypesLoader : public Jellyfin::Support::HttpLoader<QList<NameIdPair>, GetTunerHostTypesParams> {
public:
explicit GetTunerHostTypesLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const GetTunerHostTypesParams& parameters) const override;
QUrlQuery query(const GetTunerHostTypesParams& parameters) const override;
QByteArray body(const GetTunerHostTypesParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Discover tuners.
*/
class DiscoverTunersLoader : public Jellyfin::Support::HttpLoader<QList<TunerHostInfo>, DiscoverTunersParams> {
public:
explicit DiscoverTunersLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const DiscoverTunersParams& parameters) const override;
QUrlQuery query(const DiscoverTunersParams& parameters) const override;
QByteArray body(const DiscoverTunersParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Discover tuners.
*/
class DiscvoverTunersLoader : public Jellyfin::Support::HttpLoader<QList<TunerHostInfo>, DiscvoverTunersParams> {
public:
explicit DiscvoverTunersLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const DiscvoverTunersParams& parameters) const override;
QUrlQuery query(const DiscvoverTunersParams& parameters) const override;
QByteArray body(const DiscvoverTunersParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
} // NS HTTP
} // NS Loader
} // NS Jellyfin
#endif // JELLYFIN_LOADER_HTTP_LIVETV_H