mirror of
https://github.com/HenkKalkwater/harbour-sailfin.git
synced 2024-11-25 10:25:17 +00:00
WIP: Reimplementation of ListModels.
This commit is contained in:
parent
76a49868b9
commit
e421adf733
|
@ -9,6 +9,7 @@ set(JellyfinQt_SOURCES
|
|||
src/support/jsonconv.cpp
|
||||
src/support/loader.cpp
|
||||
src/viewmodel/item.cpp
|
||||
src/viewmodel/itemmodel.cpp
|
||||
src/viewmodel/loader.cpp
|
||||
src/viewmodel/playbackmanager.cpp
|
||||
src/apiclient.cpp
|
||||
|
@ -28,7 +29,9 @@ set(JellyfinQt_HEADERS
|
|||
include/JellyfinQt/support/jsonconv.h
|
||||
include/JellyfinQt/support/loader.h
|
||||
include/JellyfinQt/viewmodel/item.h
|
||||
include/JellyfinQt/viewmodel/itemmodel.h
|
||||
include/JellyfinQt/viewmodel/loader.h
|
||||
include/JellyfinQt/viewmodel/propertyhelper.h
|
||||
include/JellyfinQt/viewmodel/playbackmanager.h
|
||||
include/JellyfinQt/apiclient.h
|
||||
include/JellyfinQt/apimodel.h
|
||||
|
|
|
@ -702,7 +702,8 @@ set(openapi_HEADERS
|
|||
./include/JellyfinQt/loader/http/headvideostream.h
|
||||
./include/JellyfinQt/loader/http/mergeversions.h
|
||||
./include/JellyfinQt/loader/http/getyears.h
|
||||
./include/JellyfinQt/loader/http/getyear.h)
|
||||
./include/JellyfinQt/loader/http/getyear.h
|
||||
./include/JellyfinQt/loader/requesttypes.h)
|
||||
|
||||
set(openapi_SOURCES
|
||||
./src/dto/loglevel.cpp
|
||||
|
@ -1377,4 +1378,4 @@ set(openapi_SOURCES
|
|||
./src/loader/http/mergeversions.cpp
|
||||
./src/loader/http/getyears.cpp
|
||||
./src/loader/http/getyear.cpp
|
||||
./include/JellyfinQt/loader/requesttypes.h)
|
||||
./src/loader/requesttypes.cpp)
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
{{/if}}
|
||||
|
||||
class {{className}} : public {{supportNamespace}}::HttpLoader<{{dtoNamespace}}::{{endpoint.resultType}}, {{endpoint.parameterType}}> {
|
||||
class {{className}}Loader : public {{supportNamespace}}::HttpLoader<{{dtoNamespace}}::{{endpoint.resultType}}, {{endpoint.parameterType}}> {
|
||||
public:
|
||||
explicit {{className}}(ApiClient *apiClient = nullptr);
|
||||
explicit {{className}}Loader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const {{endpoint.parameterType}}& parameters) const override;
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
{{#if endpoint.hasSuccessResponse}}
|
||||
|
||||
{{className}}::{{className}}(ApiClient *apiClient)
|
||||
{{className}}Loader::{{className}}Loader(ApiClient *apiClient)
|
||||
: {{supportNamespace}}::HttpLoader<{{dtoNamespace}}::{{endpoint.resultType}}, {{endpoint.parameterType}}>(apiClient) {}
|
||||
|
||||
QString {{className}}::path(const {{endpoint.parameterType}} ¶ms) const {
|
||||
QString {{className}}Loader::path(const {{endpoint.parameterType}} ¶ms) const {
|
||||
Q_UNUSED(params) // Might be overzealous, but I don't like theses kind of warnings
|
||||
|
||||
return {{pathStringInterpolation "params"}};
|
||||
}
|
||||
|
||||
QUrlQuery {{className}}::query(const {{endpoint.parameterType}} ¶ms) const {
|
||||
QUrlQuery {{className}}Loader::query(const {{endpoint.parameterType}} ¶ms) const {
|
||||
Q_UNUSED(params) // Might be overzealous, but I don't like theses kind of warnings
|
||||
|
||||
QUrlQuery result;
|
||||
|
|
|
@ -94,7 +94,7 @@ public:
|
|||
Q_PROPERTY(QString version READ version)
|
||||
Q_PROPERTY(EventBus *eventbus READ eventbus FINAL)
|
||||
Q_PROPERTY(WebSocket *websocket READ websocket FINAL)
|
||||
Q_PROPERTY(QList<DTO::GeneralCommandType> supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged)
|
||||
Q_PROPERTY(QVariantList supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged)
|
||||
/**
|
||||
* Wether this ApiClient operates in "online mode".
|
||||
*
|
||||
|
@ -138,8 +138,8 @@ public:
|
|||
* The list support commands will be sent to the Jellyfin server. QML applications should listen to
|
||||
* the events emitted by the eventBus and act accordingly.
|
||||
*/
|
||||
QList<GeneralCommandType> supportedCommands() const { return m_supportedCommands; }
|
||||
void setSupportedCommands(QList<GeneralCommandType> newSupportedCommands) { m_supportedCommands = newSupportedCommands; }
|
||||
QVariantList supportedCommands() const { return m_supportedCommands; }
|
||||
void setSupportedCommands(QVariantList newSupportedCommands) { m_supportedCommands = newSupportedCommands; emit supportedCommandsChanged(); }
|
||||
QJsonObject &deviceProfile() { return m_deviceProfile; }
|
||||
QJsonObject &playbackDeviceProfile() { return m_playbackDeviceProfile; }
|
||||
/**
|
||||
|
@ -278,7 +278,7 @@ private:
|
|||
QJsonObject m_deviceProfile;
|
||||
QJsonObject m_playbackDeviceProfile;
|
||||
bool m_online = true;
|
||||
QList<GeneralCommandType> m_supportedCommands;
|
||||
QVariantList m_supportedCommands;
|
||||
|
||||
bool m_authenticated = false;
|
||||
/**
|
||||
|
|
|
@ -20,12 +20,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
#ifndef JELLYFIN_API_MODEL
|
||||
#define JELLYFIN_API_MODEL
|
||||
|
||||
#include <optional>
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QFlags>
|
||||
#include <QFuture>
|
||||
#include <QFutureWatcher>
|
||||
#include <QMetaEnum>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonValue>
|
||||
#include <QtConcurrent/QtConcurrent>
|
||||
#include <QtQml>
|
||||
#include <QQmlParserStatus>
|
||||
#include <QVariant>
|
||||
|
@ -36,41 +41,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
#include "dto/baseitemdto.h"
|
||||
#include "dto/userdto.h"
|
||||
#include "dto/useritemdatadto.h"
|
||||
#include "dto/baseitemdtoqueryresult.h"
|
||||
#include "loader/requesttypes.h"
|
||||
#include "support/loader.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
||||
class SortOptions : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit SortOptions (QObject *parent = nullptr) : QObject(parent) {}
|
||||
enum SortBy {
|
||||
Album,
|
||||
AlbumArtist,
|
||||
Artist,
|
||||
Budget,
|
||||
CommunityRating,
|
||||
CriticRating,
|
||||
DateCreated,
|
||||
DatePlayed,
|
||||
PlayCount,
|
||||
PremiereDate,
|
||||
ProductionYear,
|
||||
SortName,
|
||||
Random,
|
||||
Revenue,
|
||||
Runtime
|
||||
};
|
||||
Q_ENUM(SortBy)
|
||||
};
|
||||
|
||||
/**
|
||||
* Q_OBJECT does not support template classes. This base class declares the
|
||||
* Q_OBJECT related properties and signals.
|
||||
* Pageable response, which support offset and record parameters. The result
|
||||
* should contain a field with the total item count, returned item count and an array
|
||||
* containing the results.
|
||||
*/
|
||||
class BaseApiModel : public QAbstractListModel, public QQmlParserStatus {
|
||||
Q_OBJECT
|
||||
struct PageableResponse;
|
||||
|
||||
class ModelStatusClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
explicit BaseApiModel(QString path, bool hasRecordResponse, bool addUserId, QObject *parent = nullptr);
|
||||
enum ModelStatus {
|
||||
Uninitialised,
|
||||
Loading,
|
||||
|
@ -79,61 +65,51 @@ public:
|
|||
LoadingMore
|
||||
};
|
||||
Q_ENUM(ModelStatus)
|
||||
|
||||
enum SortOrder {
|
||||
Unspecified,
|
||||
Ascending,
|
||||
Descending
|
||||
private:
|
||||
ModelStatusClass() {}
|
||||
};
|
||||
Q_ENUM(SortOrder)
|
||||
Q_PROPERTY(ApiClient *apiClient MEMBER m_apiClient NOTIFY apiClientChanged)
|
||||
Q_PROPERTY(ModelStatus status READ status NOTIFY statusChanged)
|
||||
|
||||
// Query properties
|
||||
Q_PROPERTY(int limit MEMBER m_limit NOTIFY limitChanged)
|
||||
Q_PROPERTY(QList<QString> sortBy MEMBER m_sortBy NOTIFY sortByChanged)
|
||||
Q_PROPERTY(QList<QString> fields MEMBER m_fields NOTIFY fieldsChanged)
|
||||
Q_PROPERTY(SortOrder sortOrder MEMBER m_sortOrder NOTIFY sortOrderChanged)
|
||||
using ModelStatus = ModelStatusClass::ModelStatus;
|
||||
|
||||
class BaseModelLoader : public QObject, public QQmlParserStatus {
|
||||
Q_INTERFACES(QQmlParserStatus)
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit BaseModelLoader(QObject *parent = nullptr);
|
||||
Q_PROPERTY(ApiClient *apiClient READ apiClient WRITE setApiClient NOTIFY apiClientChanged)
|
||||
Q_PROPERTY(ModelStatus status READ status NOTIFY statusChanged)
|
||||
Q_PROPERTY(int limit READ limit WRITE setLimit NOTIFY limitChanged)
|
||||
Q_PROPERTY(bool autoReload READ autoReload WRITE setAutoReload NOTIFY autoReloadChanged)
|
||||
|
||||
ApiClient *apiClient() const { return m_apiClient; }
|
||||
void setApiClient(ApiClient *newApiClient);
|
||||
|
||||
int limit() const { return m_limit; }
|
||||
void setLimit(int newLimit);
|
||||
bool autoReload() const { return m_autoReload; }
|
||||
void setAutoReload(bool newAutoReload);
|
||||
|
||||
ModelStatus status() const { return m_status; }
|
||||
void setApiClient(ApiClient *newApiClient);
|
||||
void setLimit(int newLimit);
|
||||
|
||||
// From AbstractListModel, gets implemented in ApiModel<T>
|
||||
virtual int rowCount(const QModelIndex &index) const override = 0;
|
||||
virtual QHash<int, QByteArray> roleNames() const override = 0;
|
||||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override = 0;
|
||||
virtual bool canFetchMore(const QModelIndex &parent) const override = 0;
|
||||
virtual void fetchMore(const QModelIndex &parent) override = 0;
|
||||
|
||||
// QQmlParserStatus interface
|
||||
virtual void classBegin() override;
|
||||
virtual void componentComplete() override;
|
||||
|
||||
void autoReloadIfNeeded();
|
||||
signals:
|
||||
void ready();
|
||||
void apiClientChanged(ApiClient *newApiClient);
|
||||
void statusChanged(ModelStatus newStatus);
|
||||
void statusChanged();
|
||||
void limitChanged(int newLimit);
|
||||
void sortByChanged(QList<QString> newSortOrder);
|
||||
void sortOrderChanged(SortOrder newSortOrder);
|
||||
void fieldsChanged(QList<QString> newFields);
|
||||
void autoReloadChanged(bool newAutoReload);
|
||||
|
||||
public slots:
|
||||
/**
|
||||
* @brief (Re)loads the data into this model. This might make a network request.
|
||||
*/
|
||||
void reload();
|
||||
void reloadWanted();
|
||||
|
||||
protected:
|
||||
enum LoadType {
|
||||
RELOAD,
|
||||
LOAD_MORE
|
||||
};
|
||||
|
||||
ApiClient *m_apiClient = nullptr;
|
||||
// Is this object being parsed by the QML engine
|
||||
bool m_isBeingParsed = false;
|
||||
// Per-model specific settings.
|
||||
QString m_path;
|
||||
bool m_hasRecordResponse;
|
||||
bool m_addUserId;
|
||||
ApiClient *m_apiClient = nullptr;
|
||||
bool m_autoReload = true;
|
||||
|
||||
// Query/record controlling properties
|
||||
int m_limit = -1;
|
||||
|
@ -141,55 +117,168 @@ protected:
|
|||
int m_totalRecordCount = 0;
|
||||
const int DEFAULT_LIMIT = 100;
|
||||
|
||||
// Query properties
|
||||
QList<QString> m_fields = {};
|
||||
QList<QString> m_sortBy = {};
|
||||
SortOrder m_sortOrder = Unspecified;
|
||||
|
||||
// State properties.
|
||||
ModelStatus m_status = Uninitialised;
|
||||
|
||||
ModelStatus m_status = ModelStatus::Uninitialised;
|
||||
void setStatus(ModelStatus newStatus) {
|
||||
if (this->m_status != newStatus) {
|
||||
this->m_status = newStatus;
|
||||
emit this->statusChanged(newStatus);
|
||||
if (m_status == Ready) {
|
||||
emit this->statusChanged();
|
||||
if (this->m_status == ModelStatus::Ready) {
|
||||
emit ready();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void load(LoadType loadType);
|
||||
virtual void setModelData(QJsonArray &data) = 0;
|
||||
virtual void appendModelData(QJsonArray &data) = 0;
|
||||
/**
|
||||
* @brief Adds parameters to the query
|
||||
* @param query The query to add parameters to
|
||||
*
|
||||
* This method is intended to be overrided by subclasses. It gets called
|
||||
* before a request is made to the server and can be used to enable
|
||||
* query types specific for a certain model to be available.
|
||||
*
|
||||
* Make sure to call the method in the superclass as well!
|
||||
*/
|
||||
virtual void addQueryParameters(QUrlQuery &query);
|
||||
|
||||
/**
|
||||
* @brief Replaces placeholders in an URL.
|
||||
* @param path The path in which placeholders should be replaced.
|
||||
*
|
||||
* This method is intended to be overrided by subclasses. It gets called
|
||||
* before a request is made to the server and can be used to enable
|
||||
* query types specific for a certain model to be available.
|
||||
*
|
||||
* Make sure to call the method in the superclass as well!
|
||||
*/
|
||||
virtual void replacePathPlaceholders(QString &path);
|
||||
|
||||
virtual void classBegin() override;
|
||||
virtual void componentComplete() override;
|
||||
};
|
||||
|
||||
/**
|
||||
* Base model loader that only has one template parameter,
|
||||
* so it can be used within the ApiModel.
|
||||
*/
|
||||
template <class T>
|
||||
class ModelLoader : public BaseModelLoader {
|
||||
public:
|
||||
ModelLoader(QObject *parent = nullptr)
|
||||
: BaseModelLoader(parent) {}
|
||||
|
||||
QList<T> reload() {
|
||||
m_startIndex = 0;
|
||||
m_totalRecordCount = -1;
|
||||
return loadMore();
|
||||
}
|
||||
|
||||
QList<T> loadMore() {
|
||||
if (m_startIndex == 0) {
|
||||
this->setStatus(ModelStatus::Loading);
|
||||
} else {
|
||||
this->setStatus(ModelStatus::LoadingMore);
|
||||
}
|
||||
std::pair<QList<T>, int> result;
|
||||
try {
|
||||
result = loadMore(m_startIndex, m_limit);
|
||||
} catch(Support::LoadException &e) {
|
||||
qWarning() << "Exception while loading in ModelLoader: " << e.what();
|
||||
return QList<T>();
|
||||
}
|
||||
m_startIndex += result.first.size();
|
||||
m_totalRecordCount = result.second;
|
||||
return result.first;
|
||||
}
|
||||
|
||||
virtual bool canLoadMore() const {
|
||||
return m_totalRecordCount == -1 || m_startIndex < m_totalRecordCount;
|
||||
}
|
||||
protected:
|
||||
virtual std::pair<QList<T>, int> loadMore(int offset, int limit) = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
* Template to extract records from the given result.
|
||||
*/
|
||||
template <class T, class R>
|
||||
QList<T> extractRecords(const R &result) {
|
||||
Q_UNUSED(result)
|
||||
Q_UNIMPLEMENTED();
|
||||
return QList<T>();
|
||||
}
|
||||
|
||||
template <class R>
|
||||
int extractTotalRecordCount(const R &result) {
|
||||
Q_UNUSED(result)
|
||||
Q_UNIMPLEMENTED();
|
||||
return -1;
|
||||
}
|
||||
template <class R>
|
||||
void setRequestLimit(R ¶meters, int limit) {
|
||||
Q_UNUSED(parameters)
|
||||
Q_UNUSED(limit)
|
||||
Q_UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
template <class P>
|
||||
void setRequestStartIndex(P ¶meters, int startIndex) {
|
||||
Q_UNUSED(parameters)
|
||||
Q_UNUSED(startIndex)
|
||||
Q_UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
/**
|
||||
* Template for implementing a loader for the given type, response and parameters
|
||||
* @tparam T type of which this loader should load a list of
|
||||
* @tparam D type of the DTO which can be converted into T using T(const D&, ApiClient*);
|
||||
* @tparam R type of the deserialized loader response
|
||||
* @tparam P type of the deserialized loader request parameters
|
||||
*/
|
||||
template <class T, class D, class R, class P>
|
||||
class LoaderModelLoader : public ModelLoader<T> {
|
||||
public:
|
||||
explicit LoaderModelLoader(Support::Loader<R, P> loader, QObject *parent = nullptr)
|
||||
: ModelLoader<T>(parent), m_loader(loader) { }
|
||||
protected:
|
||||
std::pair<QList<T>, int> loadMore(int offset, int limit) override {
|
||||
QMutexLocker(&this->m_mutex);
|
||||
// We never want to set this while the loader is running, hence the Mutex and setting it here
|
||||
// instead when Loader::setApiClient is called.
|
||||
this->m_loader.setApiClient(this->m_apiClient);
|
||||
try {
|
||||
setRequestStartIndex<P>(this->m_parameters, offset);
|
||||
setRequestLimit(this->m_parameters, limit);
|
||||
R result;
|
||||
try {
|
||||
std::optional<R> optResult = m_loader.load(this->m_parameters);
|
||||
if (!optResult.has_value()) {
|
||||
this->setStatus(ModelStatus::Error);
|
||||
return {QList<T>(), -1};
|
||||
}
|
||||
result = optResult.value();
|
||||
} catch (Support::LoadException e) {
|
||||
this->setStatus(ModelStatus::Error);
|
||||
return {QList<T>(), -1};
|
||||
}
|
||||
|
||||
QList<D> records = extractRecords<D, R>(result);
|
||||
int totalRecordCount = extractTotalRecordCount<R>(result);
|
||||
// If totalRecordCount < 0, it is not supported for this endpoint
|
||||
if (totalRecordCount < 0) {
|
||||
totalRecordCount = records.size();
|
||||
}
|
||||
QList<T> models;
|
||||
models.reserve(records.size());
|
||||
|
||||
// Convert the DTOs into models
|
||||
for (int i = 0; i < records.size(); i++) {
|
||||
models[i] = T(records[i], m_loader.apiClient());
|
||||
}
|
||||
this->setStatus(ModelStatus::Ready);
|
||||
return { models, totalRecordCount};
|
||||
} catch (Support::LoadException e) {
|
||||
//this->setErrorString(QString(e.what()));
|
||||
this->setStatus(ModelStatus::Error);
|
||||
return {QList<T>(), -1};
|
||||
}
|
||||
}
|
||||
Support::Loader<R, P> m_loader;
|
||||
QMutex m_mutex;
|
||||
P m_parameters;
|
||||
};
|
||||
|
||||
class BaseApiModel : public QAbstractListModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
BaseApiModel(QObject *parent = nullptr)
|
||||
: QAbstractListModel (parent) {}
|
||||
|
||||
Q_PROPERTY(BaseModelLoader *loader READ loader WRITE setLoader NOTIFY loaderChanged)
|
||||
|
||||
virtual BaseModelLoader *loader() const = 0;
|
||||
virtual void setLoader(BaseModelLoader *newLoader) {
|
||||
Q_UNUSED(newLoader);
|
||||
connect(newLoader, &BaseModelLoader::reloadWanted, this, &BaseApiModel::reload);
|
||||
emit loaderChanged();
|
||||
};
|
||||
public slots:
|
||||
virtual void reload();
|
||||
signals:
|
||||
void loaderChanged();
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Abstract model for displaying a REST JSON collection. Role names will be based on the fields encountered in the
|
||||
|
@ -214,6 +303,10 @@ protected:
|
|||
* @endcode
|
||||
* The model will have roleNames for "name" and "id".
|
||||
*
|
||||
* @tparam T The class of the result.
|
||||
* @tparam R The class returned by the loader.
|
||||
* @tparam P The class with the request parameters for the loader.
|
||||
*
|
||||
*/
|
||||
template <class T>
|
||||
class ApiModel : public BaseApiModel {
|
||||
|
@ -246,156 +339,126 @@ public:
|
|||
* @endcode
|
||||
* responseHasRecords should be true
|
||||
*/
|
||||
explicit ApiModel(QString path, bool responseHasRecords, bool passUserId = false, QObject *parent = nullptr);
|
||||
explicit ApiModel(QObject *parent = nullptr)
|
||||
: BaseApiModel(parent) {
|
||||
m_futureWatcherConnection = connect(&m_futureWatcher, &QFutureWatcher<QList<T>>::finished,
|
||||
[&](){ futureFinished(); });
|
||||
}
|
||||
|
||||
// Standard QAbstractItemModel overrides
|
||||
int rowCount(const QModelIndex &index) const override {
|
||||
if (!index.isValid()) return m_array.size();
|
||||
return 0;
|
||||
}
|
||||
QHash<int, QByteArray> roleNames() const override { return m_roles; }
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
bool canFetchMore(const QModelIndex &parent) const override;
|
||||
void fetchMore(const QModelIndex &parent) override;
|
||||
|
||||
// Helper methods
|
||||
template<typename QEnum>
|
||||
QString enumToString (const QEnum anEnum) { return QVariant::fromValue(anEnum).toString(); }
|
||||
|
||||
// QList-like API
|
||||
T* at(int index) { return m_array.at(index); }
|
||||
int size() { return rowCount(QModelIndex()); }
|
||||
void insert(int index, T* object);
|
||||
void append(T* object) { insert(size(), object); }
|
||||
void removeAt(int index);
|
||||
void removeOne(T* object);
|
||||
|
||||
template<typename QEnum>
|
||||
QString enumListToString (const QList<QEnum> enumList) {
|
||||
QString result;
|
||||
for (QEnum e : enumList) {
|
||||
result += QVariant::fromValue(e).toString() + ",";
|
||||
T& at(int index) { return m_array.at(index); }
|
||||
/**
|
||||
* @return the amount of objects in this model.
|
||||
*/
|
||||
int size() {
|
||||
return m_array.size();
|
||||
}
|
||||
|
||||
void insert(int index, T &object) {
|
||||
Q_ASSERT(index >= 0 && index <= size());
|
||||
this->beginInsertRows(QModelIndex(), index, index);
|
||||
m_array.insert(index, object);
|
||||
this->endInsertRows();
|
||||
}
|
||||
|
||||
void append(T &object) { insert(size(), object); }
|
||||
void append(QList<T> &objects) {
|
||||
int index = size();
|
||||
this->beginInsertRows(QModelIndex(), index, index + objects.size());
|
||||
m_array.append(objects);
|
||||
this->endInsertRows();
|
||||
};
|
||||
|
||||
void removeAt(int index) {
|
||||
this->beginRemoveRows(QModelIndex(), index, index);
|
||||
m_array.removeAt(index);
|
||||
this->endRemoveRows();
|
||||
}
|
||||
|
||||
void removeOne(T &object) {
|
||||
int idx = m_array.indexOf(object);
|
||||
if (idx >= 0) {
|
||||
removeAt(idx);
|
||||
}
|
||||
}
|
||||
|
||||
// From AbstractListModel, gets implemented in ApiModel<T>
|
||||
//virtual QHash<int, QByteArray> roleNames() const override = 0;
|
||||
/*virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override = 0;*/
|
||||
virtual bool canFetchMore(const QModelIndex &parent) const override {
|
||||
if (parent.isValid()) return false;
|
||||
if (m_loader == nullptr) return false;
|
||||
return m_loader->canLoadMore();
|
||||
}
|
||||
virtual void fetchMore(const QModelIndex &parent) override {
|
||||
if (parent.isValid()) return;
|
||||
if (m_loader != nullptr) {
|
||||
QFuture<QList<T>> result = QtConcurrent::run(m_loader, &ModelLoader<T>::loadMore);
|
||||
m_futureWatcher.setFuture(result);
|
||||
}
|
||||
}
|
||||
|
||||
BaseModelLoader *loader() const override {
|
||||
return m_loader;
|
||||
}
|
||||
|
||||
void setLoader(BaseModelLoader *newLoader) {
|
||||
ModelLoader<T> *castedLoader = dynamic_cast<ModelLoader<T> *>(newLoader);
|
||||
if (castedLoader != nullptr) {
|
||||
m_loader = castedLoader;
|
||||
// Hacky way to emit a signal
|
||||
BaseApiModel::setLoader(newLoader);
|
||||
} else {
|
||||
qWarning() << "Somehow set a BaseModelLoader on ApiModel instead of a ModelLoader<T>";
|
||||
}
|
||||
}
|
||||
|
||||
void reload() override {
|
||||
if (m_loader != nullptr) {
|
||||
QFuture<QList<T>> result = QtConcurrent::run(m_loader, &ModelLoader<T>::reload);
|
||||
m_futureWatcher.setFuture(result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
protected:
|
||||
// AbstractItemModel bookkeeping
|
||||
QHash<int, QByteArray> m_roles;
|
||||
|
||||
// Helper methods.
|
||||
T *deserializeResult(QJsonValueRef source);
|
||||
virtual void addQueryParameters(QUrlQuery &query) override;
|
||||
virtual void replacePathPlaceholders(QString &path) override;
|
||||
|
||||
virtual void setModelData(QJsonArray &data) override;
|
||||
virtual void appendModelData(QJsonArray &data) override;
|
||||
|
||||
// Model-specific properties.
|
||||
QList<T*> m_array;
|
||||
QList<T> m_array;
|
||||
ModelLoader<T> *m_loader;
|
||||
QFutureWatcher<QList<T>> m_futureWatcher;
|
||||
|
||||
void futureFinished() {
|
||||
try {
|
||||
QList<T> result = m_futureWatcher.result();
|
||||
append(result);
|
||||
} catch (QUnhandledException &e) {
|
||||
qWarning() << "Unhandled exception while waiting for a future: " << e.what();
|
||||
}
|
||||
}
|
||||
private:
|
||||
/**
|
||||
* @brief Generates roleNames based on the first record in m_array.
|
||||
*/
|
||||
void generateFields();
|
||||
QString sortByToString(SortOptions::SortBy sortBy);
|
||||
QMetaObject::Connection m_futureWatcherConnection;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @brief List of the public users on the server.
|
||||
*/
|
||||
class PublicUserModel : public ApiModel<QJsonValue> {
|
||||
/*class PublicUserModel : public ApiModel<QJsonValue> {
|
||||
public:
|
||||
explicit PublicUserModel (QObject *parent = nullptr);
|
||||
};
|
||||
};*/
|
||||
|
||||
/**
|
||||
* @brief Base class for each model that works with items.
|
||||
*
|
||||
* Listens for updates in the library and updates the model accordingly.
|
||||
*/
|
||||
class ItemModel : public ApiModel<QJsonValue> {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ItemModel (QString path, bool responseHasRecords, bool replaceUser, QObject *parent = nullptr);
|
||||
// Query parameters
|
||||
Q_PROPERTY(QString parentId MEMBER m_parentId WRITE setParentId NOTIFY parentIdChanged)
|
||||
Q_PROPERTY(QString seasonId MEMBER m_seasonId NOTIFY seasonIdChanged)
|
||||
Q_PROPERTY(QList<QString> imageTypes MEMBER m_imageTypes NOTIFY imageTypesChanged)
|
||||
Q_PROPERTY(QList<QString> includeItemTypes MEMBER m_includeItemTypes NOTIFY includeItemTypesChanged)
|
||||
Q_PROPERTY(bool recursive MEMBER m_recursive)
|
||||
QList<QString> m_includeItemTypes = {};
|
||||
|
||||
// Path properties
|
||||
Q_PROPERTY(QString show MEMBER m_show NOTIFY showChanged)
|
||||
|
||||
void setParentId(const QString &parentId) {
|
||||
m_parentId = parentId;
|
||||
emit parentIdChanged(m_parentId);
|
||||
}
|
||||
signals:
|
||||
// Query property signals
|
||||
void parentIdChanged(QString newParentId);
|
||||
void seasonIdChanged(QString newSeasonId);
|
||||
void imageTypesChanged(QList<QString> newImageTypes);
|
||||
void includeItemTypesChanged(const QList<QString> &newIncludeItemTypes);
|
||||
|
||||
// Path property signals
|
||||
void showChanged(QString newShow);
|
||||
public slots:
|
||||
void onUserDataChanged(const QString &itemId, DTO::UserData *userData);
|
||||
protected:
|
||||
virtual void addQueryParameters(QUrlQuery &query) override;
|
||||
virtual void replacePathPlaceholders(QString &path) override;
|
||||
private:
|
||||
// Path properties
|
||||
QString m_show;
|
||||
|
||||
// Query parameters
|
||||
QString m_parentId;
|
||||
QString m_seasonId;
|
||||
QList<QString> m_imageTypes = {};
|
||||
bool m_recursive = false;
|
||||
};
|
||||
|
||||
//template<>
|
||||
//void ApiModel<Item>::apiClientChanged();
|
||||
|
||||
class UserViewModel : public ItemModel {
|
||||
public:
|
||||
explicit UserViewModel (QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
class UserItemModel : public ItemModel {
|
||||
public:
|
||||
explicit UserItemModel (QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
class UserItemResumeModel : public ItemModel {
|
||||
public:
|
||||
explicit UserItemResumeModel (QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
class UserItemLatestModel : public ItemModel {
|
||||
public:
|
||||
explicit UserItemLatestModel (QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
class ShowNextUpModel : public ItemModel {
|
||||
public:
|
||||
explicit ShowNextUpModel (QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
class ShowSeasonsModel : public ItemModel {
|
||||
public:
|
||||
explicit ShowSeasonsModel (QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
class ShowEpisodesModel : public ItemModel {
|
||||
public:
|
||||
explicit ShowEpisodesModel (QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
|
||||
void registerModels(const char *URI);
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<QSharedPointer<ActivityLogEntry>> items() const;
|
||||
QList<ActivityLogEntry> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<QSharedPointer<ActivityLogEntry>> newItems);
|
||||
void setItems(QList<ActivityLogEntry> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -90,7 +89,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<ActivityLogEntry>> m_items;
|
||||
QList<ActivityLogEntry> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
};
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -176,9 +175,9 @@ public:
|
|||
void setArtistProviderIdsNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<SongInfo>> songInfos() const;
|
||||
QList<SongInfo> songInfos() const;
|
||||
|
||||
void setSongInfos(QList<QSharedPointer<SongInfo>> newSongInfos);
|
||||
void setSongInfos(QList<SongInfo> newSongInfos);
|
||||
bool songInfosNull() const;
|
||||
void setSongInfosNull();
|
||||
|
||||
|
@ -196,7 +195,7 @@ protected:
|
|||
bool m_isAutomated;
|
||||
QStringList m_albumArtists;
|
||||
std::optional<QJsonObject> m_artistProviderIds = std::nullopt;
|
||||
QList<QSharedPointer<SongInfo>> m_songInfos;
|
||||
QList<SongInfo> m_songInfos;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -154,9 +153,9 @@ public:
|
|||
void setIsAutomated(bool newIsAutomated);
|
||||
|
||||
|
||||
QList<QSharedPointer<SongInfo>> songInfos() const;
|
||||
QList<SongInfo> songInfos() const;
|
||||
|
||||
void setSongInfos(QList<QSharedPointer<SongInfo>> newSongInfos);
|
||||
void setSongInfos(QList<SongInfo> newSongInfos);
|
||||
bool songInfosNull() const;
|
||||
void setSongInfosNull();
|
||||
|
||||
|
@ -172,7 +171,7 @@ protected:
|
|||
std::optional<qint32> m_parentIndexNumber = std::nullopt;
|
||||
QDateTime m_premiereDate;
|
||||
bool m_isAutomated;
|
||||
QList<QSharedPointer<SongInfo>> m_songInfos;
|
||||
QList<SongInfo> m_songInfos;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<QSharedPointer<AuthenticationInfo>> items() const;
|
||||
QList<AuthenticationInfo> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<QSharedPointer<AuthenticationInfo>> newItems);
|
||||
void setItems(QList<AuthenticationInfo> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -90,7 +89,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<AuthenticationInfo>> m_items;
|
||||
QList<AuthenticationInfo> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
};
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -83,11 +82,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the remote trailers.
|
||||
*/
|
||||
QList<QSharedPointer<MediaUrl>> remoteTrailers() const;
|
||||
QList<MediaUrl> remoteTrailers() const;
|
||||
/**
|
||||
* @brief Gets or sets the remote trailers.
|
||||
*/
|
||||
void setRemoteTrailers(QList<QSharedPointer<MediaUrl>> newRemoteTrailers);
|
||||
void setRemoteTrailers(QList<MediaUrl> newRemoteTrailers);
|
||||
bool remoteTrailersNull() const;
|
||||
void setRemoteTrailersNull();
|
||||
|
||||
|
@ -135,7 +134,7 @@ protected:
|
|||
std::optional<qint64> m_size = std::nullopt;
|
||||
QString m_container;
|
||||
QDateTime m_dateLastSaved;
|
||||
QList<QSharedPointer<MediaUrl>> m_remoteTrailers;
|
||||
QList<MediaUrl> m_remoteTrailers;
|
||||
bool m_isHD;
|
||||
bool m_isShortcut;
|
||||
QString m_shortcutPath;
|
||||
|
|
|
@ -285,22 +285,22 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the external urls.
|
||||
*/
|
||||
QList<QSharedPointer<ExternalUrl>> externalUrls() const;
|
||||
QList<ExternalUrl> externalUrls() const;
|
||||
/**
|
||||
* @brief Gets or sets the external urls.
|
||||
*/
|
||||
void setExternalUrls(QList<QSharedPointer<ExternalUrl>> newExternalUrls);
|
||||
void setExternalUrls(QList<ExternalUrl> newExternalUrls);
|
||||
bool externalUrlsNull() const;
|
||||
void setExternalUrlsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the media versions.
|
||||
*/
|
||||
QList<QSharedPointer<MediaSourceInfo>> mediaSources() const;
|
||||
QList<MediaSourceInfo> mediaSources() const;
|
||||
/**
|
||||
* @brief Gets or sets the media versions.
|
||||
*/
|
||||
void setMediaSources(QList<QSharedPointer<MediaSourceInfo>> newMediaSources);
|
||||
void setMediaSources(QList<MediaSourceInfo> newMediaSources);
|
||||
bool mediaSourcesNull() const;
|
||||
void setMediaSourcesNull();
|
||||
|
||||
|
@ -538,11 +538,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the trailer urls.
|
||||
*/
|
||||
QList<QSharedPointer<MediaUrl>> remoteTrailers() const;
|
||||
QList<MediaUrl> remoteTrailers() const;
|
||||
/**
|
||||
* @brief Gets or sets the trailer urls.
|
||||
*/
|
||||
void setRemoteTrailers(QList<QSharedPointer<MediaUrl>> newRemoteTrailers);
|
||||
void setRemoteTrailers(QList<MediaUrl> newRemoteTrailers);
|
||||
bool remoteTrailersNull() const;
|
||||
void setRemoteTrailersNull();
|
||||
|
||||
|
@ -604,29 +604,29 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the people.
|
||||
*/
|
||||
QList<QSharedPointer<BaseItemPerson>> people() const;
|
||||
QList<BaseItemPerson> people() const;
|
||||
/**
|
||||
* @brief Gets or sets the people.
|
||||
*/
|
||||
void setPeople(QList<QSharedPointer<BaseItemPerson>> newPeople);
|
||||
void setPeople(QList<BaseItemPerson> newPeople);
|
||||
bool peopleNull() const;
|
||||
void setPeopleNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the studios.
|
||||
*/
|
||||
QList<QSharedPointer<NameGuidPair>> studios() const;
|
||||
QList<NameGuidPair> studios() const;
|
||||
/**
|
||||
* @brief Gets or sets the studios.
|
||||
*/
|
||||
void setStudios(QList<QSharedPointer<NameGuidPair>> newStudios);
|
||||
void setStudios(QList<NameGuidPair> newStudios);
|
||||
bool studiosNull() const;
|
||||
void setStudiosNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<NameGuidPair>> genreItems() const;
|
||||
QList<NameGuidPair> genreItems() const;
|
||||
|
||||
void setGenreItems(QList<QSharedPointer<NameGuidPair>> newGenreItems);
|
||||
void setGenreItems(QList<NameGuidPair> newGenreItems);
|
||||
bool genreItemsNull() const;
|
||||
void setGenreItemsNull();
|
||||
|
||||
|
@ -825,11 +825,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the artist items.
|
||||
*/
|
||||
QList<QSharedPointer<NameGuidPair>> artistItems() const;
|
||||
QList<NameGuidPair> artistItems() const;
|
||||
/**
|
||||
* @brief Gets or sets the artist items.
|
||||
*/
|
||||
void setArtistItems(QList<QSharedPointer<NameGuidPair>> newArtistItems);
|
||||
void setArtistItems(QList<NameGuidPair> newArtistItems);
|
||||
bool artistItemsNull() const;
|
||||
void setArtistItemsNull();
|
||||
|
||||
|
@ -913,11 +913,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the album artists.
|
||||
*/
|
||||
QList<QSharedPointer<NameGuidPair>> albumArtists() const;
|
||||
QList<NameGuidPair> albumArtists() const;
|
||||
/**
|
||||
* @brief Gets or sets the album artists.
|
||||
*/
|
||||
void setAlbumArtists(QList<QSharedPointer<NameGuidPair>> newAlbumArtists);
|
||||
void setAlbumArtists(QList<NameGuidPair> newAlbumArtists);
|
||||
bool albumArtistsNull() const;
|
||||
void setAlbumArtistsNull();
|
||||
|
||||
|
@ -935,11 +935,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the media streams.
|
||||
*/
|
||||
QList<QSharedPointer<MediaStream>> mediaStreams() const;
|
||||
QList<MediaStream> mediaStreams() const;
|
||||
/**
|
||||
* @brief Gets or sets the media streams.
|
||||
*/
|
||||
void setMediaStreams(QList<QSharedPointer<MediaStream>> newMediaStreams);
|
||||
void setMediaStreams(QList<MediaStream> newMediaStreams);
|
||||
bool mediaStreamsNull() const;
|
||||
void setMediaStreamsNull();
|
||||
|
||||
|
@ -1114,11 +1114,11 @@ Maps image type to dictionary mapping image tag to blurhash value.
|
|||
/**
|
||||
* @brief Gets or sets the chapters.
|
||||
*/
|
||||
QList<QSharedPointer<ChapterInfo>> chapters() const;
|
||||
QList<ChapterInfo> chapters() const;
|
||||
/**
|
||||
* @brief Gets or sets the chapters.
|
||||
*/
|
||||
void setChapters(QList<QSharedPointer<ChapterInfo>> newChapters);
|
||||
void setChapters(QList<ChapterInfo> newChapters);
|
||||
bool chaptersNull() const;
|
||||
void setChaptersNull();
|
||||
|
||||
|
@ -1569,8 +1569,8 @@ protected:
|
|||
QString m_forcedSortName;
|
||||
Video3DFormat m_video3DFormat;
|
||||
QDateTime m_premiereDate;
|
||||
QList<QSharedPointer<ExternalUrl>> m_externalUrls;
|
||||
QList<QSharedPointer<MediaSourceInfo>> m_mediaSources;
|
||||
QList<ExternalUrl> m_externalUrls;
|
||||
QList<MediaSourceInfo> m_mediaSources;
|
||||
std::optional<float> m_criticRating = std::nullopt;
|
||||
QStringList m_productionLocations;
|
||||
QString m_path;
|
||||
|
@ -1594,15 +1594,15 @@ protected:
|
|||
std::optional<qint32> m_indexNumber = std::nullopt;
|
||||
std::optional<qint32> m_indexNumberEnd = std::nullopt;
|
||||
std::optional<qint32> m_parentIndexNumber = std::nullopt;
|
||||
QList<QSharedPointer<MediaUrl>> m_remoteTrailers;
|
||||
QList<MediaUrl> m_remoteTrailers;
|
||||
std::optional<QJsonObject> m_providerIds = std::nullopt;
|
||||
std::optional<bool> m_isHD = std::nullopt;
|
||||
std::optional<bool> m_isFolder = std::nullopt;
|
||||
QString m_parentId;
|
||||
QString m_type;
|
||||
QList<QSharedPointer<BaseItemPerson>> m_people;
|
||||
QList<QSharedPointer<NameGuidPair>> m_studios;
|
||||
QList<QSharedPointer<NameGuidPair>> m_genreItems;
|
||||
QList<BaseItemPerson> m_people;
|
||||
QList<NameGuidPair> m_studios;
|
||||
QList<NameGuidPair> m_genreItems;
|
||||
QString m_parentLogoItemId;
|
||||
QString m_parentBackdropItemId;
|
||||
QStringList m_parentBackdropImageTags;
|
||||
|
@ -1621,7 +1621,7 @@ protected:
|
|||
QStringList m_tags;
|
||||
std::optional<double> m_primaryImageAspectRatio = std::nullopt;
|
||||
QStringList m_artists;
|
||||
QList<QSharedPointer<NameGuidPair>> m_artistItems;
|
||||
QList<NameGuidPair> m_artistItems;
|
||||
QString m_album;
|
||||
QString m_collectionType;
|
||||
QString m_displayOrder;
|
||||
|
@ -1629,9 +1629,9 @@ protected:
|
|||
QString m_albumPrimaryImageTag;
|
||||
QString m_seriesPrimaryImageTag;
|
||||
QString m_albumArtist;
|
||||
QList<QSharedPointer<NameGuidPair>> m_albumArtists;
|
||||
QList<NameGuidPair> m_albumArtists;
|
||||
QString m_seasonName;
|
||||
QList<QSharedPointer<MediaStream>> m_mediaStreams;
|
||||
QList<MediaStream> m_mediaStreams;
|
||||
VideoType m_videoType;
|
||||
std::optional<qint32> m_partCount = std::nullopt;
|
||||
std::optional<qint32> m_mediaSourceCount = std::nullopt;
|
||||
|
@ -1648,7 +1648,7 @@ protected:
|
|||
QString m_parentThumbImageTag;
|
||||
QString m_parentPrimaryImageItemId;
|
||||
QString m_parentPrimaryImageTag;
|
||||
QList<QSharedPointer<ChapterInfo>> m_chapters;
|
||||
QList<ChapterInfo> m_chapters;
|
||||
LocationType m_locationType;
|
||||
IsoType m_isoType;
|
||||
QString m_mediaType;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<QSharedPointer<BaseItemDto>> items() const;
|
||||
QList<BaseItemDto> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<QSharedPointer<BaseItemDto>> newItems);
|
||||
void setItems(QList<BaseItemDto> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -90,7 +89,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<BaseItemDto>> m_items;
|
||||
QList<BaseItemDto> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
};
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -65,33 +64,33 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets list of tuner channels.
|
||||
*/
|
||||
QList<QSharedPointer<TunerChannelMapping>> tunerChannels() const;
|
||||
QList<TunerChannelMapping> tunerChannels() const;
|
||||
/**
|
||||
* @brief Gets or sets list of tuner channels.
|
||||
*/
|
||||
void setTunerChannels(QList<QSharedPointer<TunerChannelMapping>> newTunerChannels);
|
||||
void setTunerChannels(QList<TunerChannelMapping> newTunerChannels);
|
||||
bool tunerChannelsNull() const;
|
||||
void setTunerChannelsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets list of provider channels.
|
||||
*/
|
||||
QList<QSharedPointer<NameIdPair>> providerChannels() const;
|
||||
QList<NameIdPair> providerChannels() const;
|
||||
/**
|
||||
* @brief Gets or sets list of provider channels.
|
||||
*/
|
||||
void setProviderChannels(QList<QSharedPointer<NameIdPair>> newProviderChannels);
|
||||
void setProviderChannels(QList<NameIdPair> newProviderChannels);
|
||||
bool providerChannelsNull() const;
|
||||
void setProviderChannelsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets list of mappings.
|
||||
*/
|
||||
QList<QSharedPointer<NameValuePair>> mappings() const;
|
||||
QList<NameValuePair> mappings() const;
|
||||
/**
|
||||
* @brief Gets or sets list of mappings.
|
||||
*/
|
||||
void setMappings(QList<QSharedPointer<NameValuePair>> newMappings);
|
||||
void setMappings(QList<NameValuePair> newMappings);
|
||||
bool mappingsNull() const;
|
||||
void setMappingsNull();
|
||||
|
||||
|
@ -108,9 +107,9 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<TunerChannelMapping>> m_tunerChannels;
|
||||
QList<QSharedPointer<NameIdPair>> m_providerChannels;
|
||||
QList<QSharedPointer<NameValuePair>> m_mappings;
|
||||
QList<TunerChannelMapping> m_tunerChannels;
|
||||
QList<NameIdPair> m_providerChannels;
|
||||
QList<NameValuePair> m_mappings;
|
||||
QString m_providerName;
|
||||
};
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -67,16 +66,16 @@ public:
|
|||
void setType(CodecType newType);
|
||||
|
||||
|
||||
QList<QSharedPointer<ProfileCondition>> conditions() const;
|
||||
QList<ProfileCondition> conditions() const;
|
||||
|
||||
void setConditions(QList<QSharedPointer<ProfileCondition>> newConditions);
|
||||
void setConditions(QList<ProfileCondition> newConditions);
|
||||
bool conditionsNull() const;
|
||||
void setConditionsNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<ProfileCondition>> applyConditions() const;
|
||||
QList<ProfileCondition> applyConditions() const;
|
||||
|
||||
void setApplyConditions(QList<QSharedPointer<ProfileCondition>> newApplyConditions);
|
||||
void setApplyConditions(QList<ProfileCondition> newApplyConditions);
|
||||
bool applyConditionsNull() const;
|
||||
void setApplyConditionsNull();
|
||||
|
||||
|
@ -97,8 +96,8 @@ public:
|
|||
|
||||
protected:
|
||||
CodecType m_type;
|
||||
QList<QSharedPointer<ProfileCondition>> m_conditions;
|
||||
QList<QSharedPointer<ProfileCondition>> m_applyConditions;
|
||||
QList<ProfileCondition> m_conditions;
|
||||
QList<ProfileCondition> m_applyConditions;
|
||||
QString m_codec;
|
||||
QString m_container;
|
||||
};
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -67,9 +66,9 @@ public:
|
|||
void setType(DlnaProfileType newType);
|
||||
|
||||
|
||||
QList<QSharedPointer<ProfileCondition>> conditions() const;
|
||||
QList<ProfileCondition> conditions() const;
|
||||
|
||||
void setConditions(QList<QSharedPointer<ProfileCondition>> newConditions);
|
||||
void setConditions(QList<ProfileCondition> newConditions);
|
||||
bool conditionsNull() const;
|
||||
void setConditionsNull();
|
||||
|
||||
|
@ -83,7 +82,7 @@ public:
|
|||
|
||||
protected:
|
||||
DlnaProfileType m_type;
|
||||
QList<QSharedPointer<ProfileCondition>> m_conditions;
|
||||
QList<ProfileCondition> m_conditions;
|
||||
QString m_container;
|
||||
};
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -151,11 +150,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the headers.
|
||||
*/
|
||||
QList<QSharedPointer<HttpHeaderInfo>> headers() const;
|
||||
QList<HttpHeaderInfo> headers() const;
|
||||
/**
|
||||
* @brief Gets or sets the headers.
|
||||
*/
|
||||
void setHeaders(QList<QSharedPointer<HttpHeaderInfo>> newHeaders);
|
||||
void setHeaders(QList<HttpHeaderInfo> newHeaders);
|
||||
bool headersNull() const;
|
||||
void setHeadersNull();
|
||||
|
||||
|
@ -169,7 +168,7 @@ protected:
|
|||
QString m_modelUrl;
|
||||
QString m_manufacturer;
|
||||
QString m_manufacturerUrl;
|
||||
QList<QSharedPointer<HttpHeaderInfo>> m_headers;
|
||||
QList<HttpHeaderInfo> m_headers;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<QSharedPointer<DeviceInfo>> items() const;
|
||||
QList<DeviceInfo> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<QSharedPointer<DeviceInfo>> newItems);
|
||||
void setItems(QList<DeviceInfo> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -90,7 +89,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<DeviceInfo>> m_items;
|
||||
QList<DeviceInfo> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
};
|
||||
|
|
|
@ -396,77 +396,77 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the XmlRootAttributes.
|
||||
*/
|
||||
QList<QSharedPointer<XmlAttribute>> xmlRootAttributes() const;
|
||||
QList<XmlAttribute> xmlRootAttributes() const;
|
||||
/**
|
||||
* @brief Gets or sets the XmlRootAttributes.
|
||||
*/
|
||||
void setXmlRootAttributes(QList<QSharedPointer<XmlAttribute>> newXmlRootAttributes);
|
||||
void setXmlRootAttributes(QList<XmlAttribute> newXmlRootAttributes);
|
||||
bool xmlRootAttributesNull() const;
|
||||
void setXmlRootAttributesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the direct play profiles.
|
||||
*/
|
||||
QList<QSharedPointer<DirectPlayProfile>> directPlayProfiles() const;
|
||||
QList<DirectPlayProfile> directPlayProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the direct play profiles.
|
||||
*/
|
||||
void setDirectPlayProfiles(QList<QSharedPointer<DirectPlayProfile>> newDirectPlayProfiles);
|
||||
void setDirectPlayProfiles(QList<DirectPlayProfile> newDirectPlayProfiles);
|
||||
bool directPlayProfilesNull() const;
|
||||
void setDirectPlayProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the transcoding profiles.
|
||||
*/
|
||||
QList<QSharedPointer<TranscodingProfile>> transcodingProfiles() const;
|
||||
QList<TranscodingProfile> transcodingProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the transcoding profiles.
|
||||
*/
|
||||
void setTranscodingProfiles(QList<QSharedPointer<TranscodingProfile>> newTranscodingProfiles);
|
||||
void setTranscodingProfiles(QList<TranscodingProfile> newTranscodingProfiles);
|
||||
bool transcodingProfilesNull() const;
|
||||
void setTranscodingProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ContainerProfiles.
|
||||
*/
|
||||
QList<QSharedPointer<ContainerProfile>> containerProfiles() const;
|
||||
QList<ContainerProfile> containerProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the ContainerProfiles.
|
||||
*/
|
||||
void setContainerProfiles(QList<QSharedPointer<ContainerProfile>> newContainerProfiles);
|
||||
void setContainerProfiles(QList<ContainerProfile> newContainerProfiles);
|
||||
bool containerProfilesNull() const;
|
||||
void setContainerProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the CodecProfiles.
|
||||
*/
|
||||
QList<QSharedPointer<CodecProfile>> codecProfiles() const;
|
||||
QList<CodecProfile> codecProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the CodecProfiles.
|
||||
*/
|
||||
void setCodecProfiles(QList<QSharedPointer<CodecProfile>> newCodecProfiles);
|
||||
void setCodecProfiles(QList<CodecProfile> newCodecProfiles);
|
||||
bool codecProfilesNull() const;
|
||||
void setCodecProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ResponseProfiles.
|
||||
*/
|
||||
QList<QSharedPointer<ResponseProfile>> responseProfiles() const;
|
||||
QList<ResponseProfile> responseProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the ResponseProfiles.
|
||||
*/
|
||||
void setResponseProfiles(QList<QSharedPointer<ResponseProfile>> newResponseProfiles);
|
||||
void setResponseProfiles(QList<ResponseProfile> newResponseProfiles);
|
||||
bool responseProfilesNull() const;
|
||||
void setResponseProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the SubtitleProfiles.
|
||||
*/
|
||||
QList<QSharedPointer<SubtitleProfile>> subtitleProfiles() const;
|
||||
QList<SubtitleProfile> subtitleProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the SubtitleProfiles.
|
||||
*/
|
||||
void setSubtitleProfiles(QList<QSharedPointer<SubtitleProfile>> newSubtitleProfiles);
|
||||
void setSubtitleProfiles(QList<SubtitleProfile> newSubtitleProfiles);
|
||||
bool subtitleProfilesNull() const;
|
||||
void setSubtitleProfilesNull();
|
||||
|
||||
|
@ -504,13 +504,13 @@ protected:
|
|||
bool m_requiresPlainFolders;
|
||||
bool m_enableMSMediaReceiverRegistrar;
|
||||
bool m_ignoreTranscodeByteRangeRequests;
|
||||
QList<QSharedPointer<XmlAttribute>> m_xmlRootAttributes;
|
||||
QList<QSharedPointer<DirectPlayProfile>> m_directPlayProfiles;
|
||||
QList<QSharedPointer<TranscodingProfile>> m_transcodingProfiles;
|
||||
QList<QSharedPointer<ContainerProfile>> m_containerProfiles;
|
||||
QList<QSharedPointer<CodecProfile>> m_codecProfiles;
|
||||
QList<QSharedPointer<ResponseProfile>> m_responseProfiles;
|
||||
QList<QSharedPointer<SubtitleProfile>> m_subtitleProfiles;
|
||||
QList<XmlAttribute> m_xmlRootAttributes;
|
||||
QList<DirectPlayProfile> m_directPlayProfiles;
|
||||
QList<TranscodingProfile> m_transcodingProfiles;
|
||||
QList<ContainerProfile> m_containerProfiles;
|
||||
QList<CodecProfile> m_codecProfiles;
|
||||
QList<ResponseProfile> m_responseProfiles;
|
||||
QList<SubtitleProfile> m_subtitleProfiles;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -82,9 +81,9 @@ public:
|
|||
void setExtractChapterImagesDuringLibraryScan(bool newExtractChapterImagesDuringLibraryScan);
|
||||
|
||||
|
||||
QList<QSharedPointer<MediaPathInfo>> pathInfos() const;
|
||||
QList<MediaPathInfo> pathInfos() const;
|
||||
|
||||
void setPathInfos(QList<QSharedPointer<MediaPathInfo>> newPathInfos);
|
||||
void setPathInfos(QList<MediaPathInfo> newPathInfos);
|
||||
bool pathInfosNull() const;
|
||||
void setPathInfosNull();
|
||||
|
||||
|
@ -210,9 +209,9 @@ public:
|
|||
void setSaveSubtitlesWithMedia(bool newSaveSubtitlesWithMedia);
|
||||
|
||||
|
||||
QList<QSharedPointer<TypeOptions>> typeOptions() const;
|
||||
QList<TypeOptions> typeOptions() const;
|
||||
|
||||
void setTypeOptions(QList<QSharedPointer<TypeOptions>> newTypeOptions);
|
||||
void setTypeOptions(QList<TypeOptions> newTypeOptions);
|
||||
bool typeOptionsNull() const;
|
||||
void setTypeOptionsNull();
|
||||
|
||||
|
@ -222,7 +221,7 @@ protected:
|
|||
bool m_enableRealtimeMonitor;
|
||||
bool m_enableChapterImageExtraction;
|
||||
bool m_extractChapterImagesDuringLibraryScan;
|
||||
QList<QSharedPointer<MediaPathInfo>> m_pathInfos;
|
||||
QList<MediaPathInfo> m_pathInfos;
|
||||
bool m_saveLocalMetadata;
|
||||
bool m_enableInternetProviders;
|
||||
bool m_enableAutomaticSeriesGrouping;
|
||||
|
@ -242,7 +241,7 @@ protected:
|
|||
QStringList m_subtitleDownloadLanguages;
|
||||
bool m_requirePerfectSubtitleMatch;
|
||||
bool m_saveSubtitlesWithMedia;
|
||||
QList<QSharedPointer<TypeOptions>> m_typeOptions;
|
||||
QList<TypeOptions> m_typeOptions;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -63,53 +62,53 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the metadata savers.
|
||||
*/
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> metadataSavers() const;
|
||||
QList<LibraryOptionInfoDto> metadataSavers() const;
|
||||
/**
|
||||
* @brief Gets or sets the metadata savers.
|
||||
*/
|
||||
void setMetadataSavers(QList<QSharedPointer<LibraryOptionInfoDto>> newMetadataSavers);
|
||||
void setMetadataSavers(QList<LibraryOptionInfoDto> newMetadataSavers);
|
||||
bool metadataSaversNull() const;
|
||||
void setMetadataSaversNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the metadata readers.
|
||||
*/
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> metadataReaders() const;
|
||||
QList<LibraryOptionInfoDto> metadataReaders() const;
|
||||
/**
|
||||
* @brief Gets or sets the metadata readers.
|
||||
*/
|
||||
void setMetadataReaders(QList<QSharedPointer<LibraryOptionInfoDto>> newMetadataReaders);
|
||||
void setMetadataReaders(QList<LibraryOptionInfoDto> newMetadataReaders);
|
||||
bool metadataReadersNull() const;
|
||||
void setMetadataReadersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the subtitle fetchers.
|
||||
*/
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> subtitleFetchers() const;
|
||||
QList<LibraryOptionInfoDto> subtitleFetchers() const;
|
||||
/**
|
||||
* @brief Gets or sets the subtitle fetchers.
|
||||
*/
|
||||
void setSubtitleFetchers(QList<QSharedPointer<LibraryOptionInfoDto>> newSubtitleFetchers);
|
||||
void setSubtitleFetchers(QList<LibraryOptionInfoDto> newSubtitleFetchers);
|
||||
bool subtitleFetchersNull() const;
|
||||
void setSubtitleFetchersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the type options.
|
||||
*/
|
||||
QList<QSharedPointer<LibraryTypeOptionsDto>> typeOptions() const;
|
||||
QList<LibraryTypeOptionsDto> typeOptions() const;
|
||||
/**
|
||||
* @brief Gets or sets the type options.
|
||||
*/
|
||||
void setTypeOptions(QList<QSharedPointer<LibraryTypeOptionsDto>> newTypeOptions);
|
||||
void setTypeOptions(QList<LibraryTypeOptionsDto> newTypeOptions);
|
||||
bool typeOptionsNull() const;
|
||||
void setTypeOptionsNull();
|
||||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> m_metadataSavers;
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> m_metadataReaders;
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> m_subtitleFetchers;
|
||||
QList<QSharedPointer<LibraryTypeOptionsDto>> m_typeOptions;
|
||||
QList<LibraryOptionInfoDto> m_metadataSavers;
|
||||
QList<LibraryOptionInfoDto> m_metadataReaders;
|
||||
QList<LibraryOptionInfoDto> m_subtitleFetchers;
|
||||
QList<LibraryTypeOptionsDto> m_typeOptions;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -76,22 +75,22 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the metadata fetchers.
|
||||
*/
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> metadataFetchers() const;
|
||||
QList<LibraryOptionInfoDto> metadataFetchers() const;
|
||||
/**
|
||||
* @brief Gets or sets the metadata fetchers.
|
||||
*/
|
||||
void setMetadataFetchers(QList<QSharedPointer<LibraryOptionInfoDto>> newMetadataFetchers);
|
||||
void setMetadataFetchers(QList<LibraryOptionInfoDto> newMetadataFetchers);
|
||||
bool metadataFetchersNull() const;
|
||||
void setMetadataFetchersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the image fetchers.
|
||||
*/
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> imageFetchers() const;
|
||||
QList<LibraryOptionInfoDto> imageFetchers() const;
|
||||
/**
|
||||
* @brief Gets or sets the image fetchers.
|
||||
*/
|
||||
void setImageFetchers(QList<QSharedPointer<LibraryOptionInfoDto>> newImageFetchers);
|
||||
void setImageFetchers(QList<LibraryOptionInfoDto> newImageFetchers);
|
||||
bool imageFetchersNull() const;
|
||||
void setImageFetchersNull();
|
||||
|
||||
|
@ -109,21 +108,21 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the default image options.
|
||||
*/
|
||||
QList<QSharedPointer<ImageOption>> defaultImageOptions() const;
|
||||
QList<ImageOption> defaultImageOptions() const;
|
||||
/**
|
||||
* @brief Gets or sets the default image options.
|
||||
*/
|
||||
void setDefaultImageOptions(QList<QSharedPointer<ImageOption>> newDefaultImageOptions);
|
||||
void setDefaultImageOptions(QList<ImageOption> newDefaultImageOptions);
|
||||
bool defaultImageOptionsNull() const;
|
||||
void setDefaultImageOptionsNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_type;
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> m_metadataFetchers;
|
||||
QList<QSharedPointer<LibraryOptionInfoDto>> m_imageFetchers;
|
||||
QList<LibraryOptionInfoDto> m_metadataFetchers;
|
||||
QList<LibraryOptionInfoDto> m_imageFetchers;
|
||||
QList<ImageType> m_supportedImageTypes;
|
||||
QList<QSharedPointer<ImageOption>> m_defaultImageOptions;
|
||||
QList<ImageOption> m_defaultImageOptions;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -157,9 +156,9 @@ public:
|
|||
void setMovieCategoriesNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<NameValuePair>> channelMappings() const;
|
||||
QList<NameValuePair> channelMappings() const;
|
||||
|
||||
void setChannelMappings(QList<QSharedPointer<NameValuePair>> newChannelMappings);
|
||||
void setChannelMappings(QList<NameValuePair> newChannelMappings);
|
||||
bool channelMappingsNull() const;
|
||||
void setChannelMappingsNull();
|
||||
|
||||
|
@ -200,7 +199,7 @@ protected:
|
|||
QStringList m_sportsCategories;
|
||||
QStringList m_kidsCategories;
|
||||
QStringList m_movieCategories;
|
||||
QList<QSharedPointer<NameValuePair>> m_channelMappings;
|
||||
QList<NameValuePair> m_channelMappings;
|
||||
QString m_moviePrefix;
|
||||
QString m_preferredLanguage;
|
||||
QString m_userAgent;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the services.
|
||||
*/
|
||||
QList<QSharedPointer<LiveTvServiceInfo>> services() const;
|
||||
QList<LiveTvServiceInfo> services() const;
|
||||
/**
|
||||
* @brief Gets or sets the services.
|
||||
*/
|
||||
void setServices(QList<QSharedPointer<LiveTvServiceInfo>> newServices);
|
||||
void setServices(QList<LiveTvServiceInfo> newServices);
|
||||
bool servicesNull() const;
|
||||
void setServicesNull();
|
||||
|
||||
|
@ -92,7 +91,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<LiveTvServiceInfo>> m_services;
|
||||
QList<LiveTvServiceInfo> m_services;
|
||||
bool m_isEnabled;
|
||||
QStringList m_enabledUsers;
|
||||
};
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -244,16 +243,16 @@ public:
|
|||
void setVideo3DFormat(Video3DFormat newVideo3DFormat);
|
||||
|
||||
|
||||
QList<QSharedPointer<MediaStream>> mediaStreams() const;
|
||||
QList<MediaStream> mediaStreams() const;
|
||||
|
||||
void setMediaStreams(QList<QSharedPointer<MediaStream>> newMediaStreams);
|
||||
void setMediaStreams(QList<MediaStream> newMediaStreams);
|
||||
bool mediaStreamsNull() const;
|
||||
void setMediaStreamsNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<MediaAttachment>> mediaAttachments() const;
|
||||
QList<MediaAttachment> mediaAttachments() const;
|
||||
|
||||
void setMediaAttachments(QList<QSharedPointer<MediaAttachment>> newMediaAttachments);
|
||||
void setMediaAttachments(QList<MediaAttachment> newMediaAttachments);
|
||||
bool mediaAttachmentsNull() const;
|
||||
void setMediaAttachmentsNull();
|
||||
|
||||
|
@ -357,8 +356,8 @@ protected:
|
|||
VideoType m_videoType;
|
||||
IsoType m_isoType;
|
||||
Video3DFormat m_video3DFormat;
|
||||
QList<QSharedPointer<MediaStream>> m_mediaStreams;
|
||||
QList<QSharedPointer<MediaAttachment>> m_mediaAttachments;
|
||||
QList<MediaStream> m_mediaStreams;
|
||||
QList<MediaAttachment> m_mediaAttachments;
|
||||
QStringList m_formats;
|
||||
std::optional<qint32> m_bitrate = std::nullopt;
|
||||
TransportStreamTimestamp m_timestamp;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -65,30 +64,30 @@ public:
|
|||
|
||||
// Properties
|
||||
|
||||
QList<QSharedPointer<ParentalRating>> parentalRatingOptions() const;
|
||||
QList<ParentalRating> parentalRatingOptions() const;
|
||||
|
||||
void setParentalRatingOptions(QList<QSharedPointer<ParentalRating>> newParentalRatingOptions);
|
||||
void setParentalRatingOptions(QList<ParentalRating> newParentalRatingOptions);
|
||||
bool parentalRatingOptionsNull() const;
|
||||
void setParentalRatingOptionsNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<CountryInfo>> countries() const;
|
||||
QList<CountryInfo> countries() const;
|
||||
|
||||
void setCountries(QList<QSharedPointer<CountryInfo>> newCountries);
|
||||
void setCountries(QList<CountryInfo> newCountries);
|
||||
bool countriesNull() const;
|
||||
void setCountriesNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<CultureDto>> cultures() const;
|
||||
QList<CultureDto> cultures() const;
|
||||
|
||||
void setCultures(QList<QSharedPointer<CultureDto>> newCultures);
|
||||
void setCultures(QList<CultureDto> newCultures);
|
||||
bool culturesNull() const;
|
||||
void setCulturesNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<ExternalIdInfo>> externalIdInfos() const;
|
||||
QList<ExternalIdInfo> externalIdInfos() const;
|
||||
|
||||
void setExternalIdInfos(QList<QSharedPointer<ExternalIdInfo>> newExternalIdInfos);
|
||||
void setExternalIdInfos(QList<ExternalIdInfo> newExternalIdInfos);
|
||||
bool externalIdInfosNull() const;
|
||||
void setExternalIdInfosNull();
|
||||
|
||||
|
@ -100,20 +99,20 @@ public:
|
|||
void setContentTypeNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<NameValuePair>> contentTypeOptions() const;
|
||||
QList<NameValuePair> contentTypeOptions() const;
|
||||
|
||||
void setContentTypeOptions(QList<QSharedPointer<NameValuePair>> newContentTypeOptions);
|
||||
void setContentTypeOptions(QList<NameValuePair> newContentTypeOptions);
|
||||
bool contentTypeOptionsNull() const;
|
||||
void setContentTypeOptionsNull();
|
||||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<ParentalRating>> m_parentalRatingOptions;
|
||||
QList<QSharedPointer<CountryInfo>> m_countries;
|
||||
QList<QSharedPointer<CultureDto>> m_cultures;
|
||||
QList<QSharedPointer<ExternalIdInfo>> m_externalIdInfos;
|
||||
QList<ParentalRating> m_parentalRatingOptions;
|
||||
QList<CountryInfo> m_countries;
|
||||
QList<CultureDto> m_cultures;
|
||||
QList<ExternalIdInfo> m_externalIdInfos;
|
||||
QString m_contentType;
|
||||
QList<QSharedPointer<NameValuePair>> m_contentTypeOptions;
|
||||
QList<NameValuePair> m_contentTypeOptions;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the current page of notifications.
|
||||
*/
|
||||
QList<QSharedPointer<NotificationDto>> notifications() const;
|
||||
QList<NotificationDto> notifications() const;
|
||||
/**
|
||||
* @brief Gets or sets the current page of notifications.
|
||||
*/
|
||||
void setNotifications(QList<QSharedPointer<NotificationDto>> newNotifications);
|
||||
void setNotifications(QList<NotificationDto> newNotifications);
|
||||
bool notificationsNull() const;
|
||||
void setNotificationsNull();
|
||||
|
||||
|
@ -81,7 +80,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<NotificationDto>> m_notifications;
|
||||
QList<NotificationDto> m_notifications;
|
||||
qint32 m_totalRecordCount;
|
||||
};
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -131,11 +130,11 @@ This is used to identify the proper item for automatic updates.
|
|||
/**
|
||||
* @brief Gets or sets the versions.
|
||||
*/
|
||||
QList<QSharedPointer<VersionInfo>> versions() const;
|
||||
QList<VersionInfo> versions() const;
|
||||
/**
|
||||
* @brief Gets or sets the versions.
|
||||
*/
|
||||
void setVersions(QList<QSharedPointer<VersionInfo>> newVersions);
|
||||
void setVersions(QList<VersionInfo> newVersions);
|
||||
bool versionsNull() const;
|
||||
void setVersionsNull();
|
||||
|
||||
|
@ -158,7 +157,7 @@ protected:
|
|||
QString m_owner;
|
||||
QString m_category;
|
||||
QString m_guid;
|
||||
QList<QSharedPointer<VersionInfo>> m_versions;
|
||||
QList<VersionInfo> m_versions;
|
||||
QString m_imageUrl;
|
||||
};
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -64,11 +63,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the media sources.
|
||||
*/
|
||||
QList<QSharedPointer<MediaSourceInfo>> mediaSources() const;
|
||||
QList<MediaSourceInfo> mediaSources() const;
|
||||
/**
|
||||
* @brief Gets or sets the media sources.
|
||||
*/
|
||||
void setMediaSources(QList<QSharedPointer<MediaSourceInfo>> newMediaSources);
|
||||
void setMediaSources(QList<MediaSourceInfo> newMediaSources);
|
||||
bool mediaSourcesNull() const;
|
||||
void setMediaSourcesNull();
|
||||
|
||||
|
@ -90,7 +89,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<MediaSourceInfo>> m_mediaSources;
|
||||
QList<MediaSourceInfo> m_mediaSources;
|
||||
QString m_playSessionId;
|
||||
PlaybackErrorCode m_errorCode;
|
||||
};
|
||||
|
|
|
@ -224,9 +224,9 @@ public:
|
|||
void setRepeatMode(RepeatMode newRepeatMode);
|
||||
|
||||
|
||||
QList<QSharedPointer<QueueItem>> nowPlayingQueue() const;
|
||||
QList<QueueItem> nowPlayingQueue() const;
|
||||
|
||||
void setNowPlayingQueue(QList<QSharedPointer<QueueItem>> newNowPlayingQueue);
|
||||
void setNowPlayingQueue(QList<QueueItem> newNowPlayingQueue);
|
||||
bool nowPlayingQueueNull() const;
|
||||
void setNowPlayingQueueNull();
|
||||
|
||||
|
@ -257,7 +257,7 @@ protected:
|
|||
QString m_liveStreamId;
|
||||
QString m_playSessionId;
|
||||
RepeatMode m_repeatMode;
|
||||
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue;
|
||||
QList<QueueItem> m_nowPlayingQueue;
|
||||
QString m_playlistItemId;
|
||||
};
|
||||
|
||||
|
|
|
@ -224,9 +224,9 @@ public:
|
|||
void setRepeatMode(RepeatMode newRepeatMode);
|
||||
|
||||
|
||||
QList<QSharedPointer<QueueItem>> nowPlayingQueue() const;
|
||||
QList<QueueItem> nowPlayingQueue() const;
|
||||
|
||||
void setNowPlayingQueue(QList<QSharedPointer<QueueItem>> newNowPlayingQueue);
|
||||
void setNowPlayingQueue(QList<QueueItem> newNowPlayingQueue);
|
||||
bool nowPlayingQueueNull() const;
|
||||
void setNowPlayingQueueNull();
|
||||
|
||||
|
@ -257,7 +257,7 @@ protected:
|
|||
QString m_liveStreamId;
|
||||
QString m_playSessionId;
|
||||
RepeatMode m_repeatMode;
|
||||
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue;
|
||||
QList<QueueItem> m_nowPlayingQueue;
|
||||
QString m_playlistItemId;
|
||||
};
|
||||
|
||||
|
|
|
@ -154,9 +154,9 @@ public:
|
|||
void setPlaylistItemIdNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<QueueItem>> nowPlayingQueue() const;
|
||||
QList<QueueItem> nowPlayingQueue() const;
|
||||
|
||||
void setNowPlayingQueue(QList<QSharedPointer<QueueItem>> newNowPlayingQueue);
|
||||
void setNowPlayingQueue(QList<QueueItem> newNowPlayingQueue);
|
||||
bool nowPlayingQueueNull() const;
|
||||
void setNowPlayingQueueNull();
|
||||
|
||||
|
@ -172,7 +172,7 @@ protected:
|
|||
bool m_failed;
|
||||
QString m_nextMediaType;
|
||||
QString m_playlistItemId;
|
||||
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue;
|
||||
QList<QueueItem> m_nowPlayingQueue;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -60,9 +59,9 @@ public:
|
|||
|
||||
// Properties
|
||||
|
||||
QList<QSharedPointer<NameGuidPair>> genres() const;
|
||||
QList<NameGuidPair> genres() const;
|
||||
|
||||
void setGenres(QList<QSharedPointer<NameGuidPair>> newGenres);
|
||||
void setGenres(QList<NameGuidPair> newGenres);
|
||||
bool genresNull() const;
|
||||
void setGenresNull();
|
||||
|
||||
|
@ -75,7 +74,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<NameGuidPair>> m_genres;
|
||||
QList<NameGuidPair> m_genres;
|
||||
QStringList m_tags;
|
||||
};
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -62,9 +61,9 @@ public:
|
|||
|
||||
// Properties
|
||||
|
||||
QList<QSharedPointer<BaseItemDto>> items() const;
|
||||
QList<BaseItemDto> items() const;
|
||||
|
||||
void setItems(QList<QSharedPointer<BaseItemDto>> newItems);
|
||||
void setItems(QList<BaseItemDto> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -87,7 +86,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<BaseItemDto>> m_items;
|
||||
QList<BaseItemDto> m_items;
|
||||
RecommendationType m_recommendationType;
|
||||
QString m_baselineItemName;
|
||||
QString m_categoryId;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the images.
|
||||
*/
|
||||
QList<QSharedPointer<RemoteImageInfo>> images() const;
|
||||
QList<RemoteImageInfo> images() const;
|
||||
/**
|
||||
* @brief Gets or sets the images.
|
||||
*/
|
||||
void setImages(QList<QSharedPointer<RemoteImageInfo>> newImages);
|
||||
void setImages(QList<RemoteImageInfo> newImages);
|
||||
bool imagesNull() const;
|
||||
void setImagesNull();
|
||||
|
||||
|
@ -92,7 +91,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<RemoteImageInfo>> m_images;
|
||||
QList<RemoteImageInfo> m_images;
|
||||
qint32 m_totalRecordCount;
|
||||
QStringList m_providers;
|
||||
};
|
||||
|
|
|
@ -148,9 +148,9 @@ public:
|
|||
void setAlbumArtist(QSharedPointer<RemoteSearchResult> newAlbumArtist);
|
||||
|
||||
|
||||
QList<QSharedPointer<RemoteSearchResult>> artists() const;
|
||||
QList<RemoteSearchResult> artists() const;
|
||||
|
||||
void setArtists(QList<QSharedPointer<RemoteSearchResult>> newArtists);
|
||||
void setArtists(QList<RemoteSearchResult> newArtists);
|
||||
bool artistsNull() const;
|
||||
void setArtistsNull();
|
||||
|
||||
|
@ -167,7 +167,7 @@ protected:
|
|||
QString m_searchProviderName;
|
||||
QString m_overview;
|
||||
QSharedPointer<RemoteSearchResult> m_albumArtist = nullptr;
|
||||
QList<QSharedPointer<RemoteSearchResult>> m_artists;
|
||||
QList<RemoteSearchResult> m_artists;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -102,9 +101,9 @@ public:
|
|||
void setMimeTypeNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<ProfileCondition>> conditions() const;
|
||||
QList<ProfileCondition> conditions() const;
|
||||
|
||||
void setConditions(QList<QSharedPointer<ProfileCondition>> newConditions);
|
||||
void setConditions(QList<ProfileCondition> newConditions);
|
||||
bool conditionsNull() const;
|
||||
void setConditionsNull();
|
||||
|
||||
|
@ -116,7 +115,7 @@ protected:
|
|||
DlnaProfileType m_type;
|
||||
QString m_orgPn;
|
||||
QString m_mimeType;
|
||||
QList<QSharedPointer<ProfileCondition>> m_conditions;
|
||||
QList<ProfileCondition> m_conditions;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the search hints.
|
||||
*/
|
||||
QList<QSharedPointer<SearchHint>> searchHints() const;
|
||||
QList<SearchHint> searchHints() const;
|
||||
/**
|
||||
* @brief Gets or sets the search hints.
|
||||
*/
|
||||
void setSearchHints(QList<QSharedPointer<SearchHint>> newSearchHints);
|
||||
void setSearchHints(QList<SearchHint> newSearchHints);
|
||||
bool searchHintsNull() const;
|
||||
void setSearchHintsNull();
|
||||
|
||||
|
@ -81,7 +80,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<SearchHint>> m_searchHints;
|
||||
QList<SearchHint> m_searchHints;
|
||||
qint32 m_totalRecordCount;
|
||||
};
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<QSharedPointer<SeriesTimerInfoDto>> items() const;
|
||||
QList<SeriesTimerInfoDto> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<QSharedPointer<SeriesTimerInfoDto>> newItems);
|
||||
void setItems(QList<SeriesTimerInfoDto> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -90,7 +89,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<SeriesTimerInfoDto>> m_items;
|
||||
QList<SeriesTimerInfoDto> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
};
|
||||
|
|
|
@ -560,9 +560,9 @@ Allows potential contributors without visual studio to modify production dashboa
|
|||
void setImageSavingConvention(ImageSavingConvention newImageSavingConvention);
|
||||
|
||||
|
||||
QList<QSharedPointer<MetadataOptions>> metadataOptions() const;
|
||||
QList<MetadataOptions> metadataOptions() const;
|
||||
|
||||
void setMetadataOptions(QList<QSharedPointer<MetadataOptions>> newMetadataOptions);
|
||||
void setMetadataOptions(QList<MetadataOptions> newMetadataOptions);
|
||||
bool metadataOptionsNull() const;
|
||||
void setMetadataOptionsNull();
|
||||
|
||||
|
@ -598,9 +598,9 @@ Allows potential contributors without visual studio to modify production dashboa
|
|||
void setSaveMetadataHidden(bool newSaveMetadataHidden);
|
||||
|
||||
|
||||
QList<QSharedPointer<NameValuePair>> contentTypes() const;
|
||||
QList<NameValuePair> contentTypes() const;
|
||||
|
||||
void setContentTypes(QList<QSharedPointer<NameValuePair>> newContentTypes);
|
||||
void setContentTypes(QList<NameValuePair> newContentTypes);
|
||||
bool contentTypesNull() const;
|
||||
void setContentTypesNull();
|
||||
|
||||
|
@ -654,9 +654,9 @@ Allows potential contributors without visual studio to modify production dashboa
|
|||
void setCodecsUsedNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<RepositoryInfo>> pluginRepositories() const;
|
||||
QList<RepositoryInfo> pluginRepositories() const;
|
||||
|
||||
void setPluginRepositories(QList<QSharedPointer<RepositoryInfo>> newPluginRepositories);
|
||||
void setPluginRepositories(QList<RepositoryInfo> newPluginRepositories);
|
||||
bool pluginRepositoriesNull() const;
|
||||
void setPluginRepositoriesNull();
|
||||
|
||||
|
@ -705,9 +705,9 @@ Allows potential contributors without visual studio to modify production dashboa
|
|||
void setImageExtractionTimeoutMs(qint32 newImageExtractionTimeoutMs);
|
||||
|
||||
|
||||
QList<QSharedPointer<PathSubstitution>> pathSubstitutions() const;
|
||||
QList<PathSubstitution> pathSubstitutions() const;
|
||||
|
||||
void setPathSubstitutions(QList<QSharedPointer<PathSubstitution>> newPathSubstitutions);
|
||||
void setPathSubstitutions(QList<PathSubstitution> newPathSubstitutions);
|
||||
bool pathSubstitutionsNull() const;
|
||||
void setPathSubstitutionsNull();
|
||||
|
||||
|
@ -864,13 +864,13 @@ protected:
|
|||
qint32 m_libraryMonitorDelay;
|
||||
bool m_enableDashboardResponseCaching;
|
||||
ImageSavingConvention m_imageSavingConvention;
|
||||
QList<QSharedPointer<MetadataOptions>> m_metadataOptions;
|
||||
QList<MetadataOptions> m_metadataOptions;
|
||||
bool m_skipDeserializationForBasicTypes;
|
||||
QString m_serverName;
|
||||
QString m_baseUrl;
|
||||
QString m_uICulture;
|
||||
bool m_saveMetadataHidden;
|
||||
QList<QSharedPointer<NameValuePair>> m_contentTypes;
|
||||
QList<NameValuePair> m_contentTypes;
|
||||
qint32 m_remoteClientBitrateLimit;
|
||||
bool m_enableFolderView;
|
||||
bool m_enableGroupingIntoCollections;
|
||||
|
@ -878,14 +878,14 @@ protected:
|
|||
QStringList m_localNetworkSubnets;
|
||||
QStringList m_localNetworkAddresses;
|
||||
QStringList m_codecsUsed;
|
||||
QList<QSharedPointer<RepositoryInfo>> m_pluginRepositories;
|
||||
QList<RepositoryInfo> m_pluginRepositories;
|
||||
bool m_enableExternalContentInSuggestions;
|
||||
bool m_requireHttps;
|
||||
bool m_enableNewOmdbSupport;
|
||||
QStringList m_remoteIPFilter;
|
||||
bool m_isRemoteIPFilterBlacklist;
|
||||
qint32 m_imageExtractionTimeoutMs;
|
||||
QList<QSharedPointer<PathSubstitution>> m_pathSubstitutions;
|
||||
QList<PathSubstitution> m_pathSubstitutions;
|
||||
bool m_enableSimpleArtistDetection;
|
||||
QStringList m_uninstalledPlugins;
|
||||
bool m_enableSlowResponseWarning;
|
||||
|
|
|
@ -74,9 +74,9 @@ public:
|
|||
void setPlayState(QSharedPointer<PlayerStateInfo> newPlayState);
|
||||
|
||||
|
||||
QList<QSharedPointer<SessionUserInfo>> additionalUsers() const;
|
||||
QList<SessionUserInfo> additionalUsers() const;
|
||||
|
||||
void setAdditionalUsers(QList<QSharedPointer<SessionUserInfo>> newAdditionalUsers);
|
||||
void setAdditionalUsers(QList<SessionUserInfo> newAdditionalUsers);
|
||||
bool additionalUsersNull() const;
|
||||
void setAdditionalUsersNull();
|
||||
|
||||
|
@ -251,9 +251,9 @@ public:
|
|||
void setSupportsRemoteControl(bool newSupportsRemoteControl);
|
||||
|
||||
|
||||
QList<QSharedPointer<QueueItem>> nowPlayingQueue() const;
|
||||
QList<QueueItem> nowPlayingQueue() const;
|
||||
|
||||
void setNowPlayingQueue(QList<QSharedPointer<QueueItem>> newNowPlayingQueue);
|
||||
void setNowPlayingQueue(QList<QueueItem> newNowPlayingQueue);
|
||||
bool nowPlayingQueueNull() const;
|
||||
void setNowPlayingQueueNull();
|
||||
|
||||
|
@ -297,7 +297,7 @@ public:
|
|||
|
||||
protected:
|
||||
QSharedPointer<PlayerStateInfo> m_playState = nullptr;
|
||||
QList<QSharedPointer<SessionUserInfo>> m_additionalUsers;
|
||||
QList<SessionUserInfo> m_additionalUsers;
|
||||
QSharedPointer<ClientCapabilities> m_capabilities = nullptr;
|
||||
QString m_remoteEndPoint;
|
||||
QStringList m_playableMediaTypes;
|
||||
|
@ -318,7 +318,7 @@ protected:
|
|||
bool m_isActive;
|
||||
bool m_supportsMediaControl;
|
||||
bool m_supportsRemoteControl;
|
||||
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue;
|
||||
QList<QueueItem> m_nowPlayingQueue;
|
||||
bool m_hasCustomDeviceName;
|
||||
QString m_playlistItemId;
|
||||
QString m_serverId;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -196,11 +195,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the completed installations.
|
||||
*/
|
||||
QList<QSharedPointer<InstallationInfo>> completedInstallations() const;
|
||||
QList<InstallationInfo> completedInstallations() const;
|
||||
/**
|
||||
* @brief Gets or sets the completed installations.
|
||||
*/
|
||||
void setCompletedInstallations(QList<QSharedPointer<InstallationInfo>> newCompletedInstallations);
|
||||
void setCompletedInstallations(QList<InstallationInfo> newCompletedInstallations);
|
||||
bool completedInstallationsNull() const;
|
||||
void setCompletedInstallationsNull();
|
||||
|
||||
|
@ -329,7 +328,7 @@ protected:
|
|||
bool m_isShuttingDown;
|
||||
bool m_supportsLibraryMonitor;
|
||||
qint32 m_webSocketPortNumber;
|
||||
QList<QSharedPointer<InstallationInfo>> m_completedInstallations;
|
||||
QList<InstallationInfo> m_completedInstallations;
|
||||
bool m_canSelfRestart;
|
||||
bool m_canLaunchWebBrowser;
|
||||
QString m_programDataPath;
|
||||
|
|
|
@ -108,11 +108,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the triggers.
|
||||
*/
|
||||
QList<QSharedPointer<TaskTriggerInfo>> triggers() const;
|
||||
QList<TaskTriggerInfo> triggers() const;
|
||||
/**
|
||||
* @brief Gets or sets the triggers.
|
||||
*/
|
||||
void setTriggers(QList<QSharedPointer<TaskTriggerInfo>> newTriggers);
|
||||
void setTriggers(QList<TaskTriggerInfo> newTriggers);
|
||||
bool triggersNull() const;
|
||||
void setTriggersNull();
|
||||
|
||||
|
@ -165,7 +165,7 @@ protected:
|
|||
std::optional<double> m_currentProgressPercentage = std::nullopt;
|
||||
QString m_jellyfinId;
|
||||
QSharedPointer<TaskResult> m_lastExecutionResult = nullptr;
|
||||
QList<QSharedPointer<TaskTriggerInfo>> m_triggers;
|
||||
QList<TaskTriggerInfo> m_triggers;
|
||||
QString m_description;
|
||||
QString m_category;
|
||||
bool m_isHidden;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -63,11 +62,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<QSharedPointer<BaseItemDto>> items() const;
|
||||
QList<BaseItemDto> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<QSharedPointer<BaseItemDto>> newItems);
|
||||
void setItems(QList<BaseItemDto> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -100,7 +99,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<BaseItemDto>> m_items;
|
||||
QList<BaseItemDto> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
QString m_ownerId;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
|
@ -62,11 +61,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<QSharedPointer<TimerInfoDto>> items() const;
|
||||
QList<TimerInfoDto> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<QSharedPointer<TimerInfoDto>> newItems);
|
||||
void setItems(QList<TimerInfoDto> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
|
@ -90,7 +89,7 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QList<QSharedPointer<TimerInfoDto>> m_items;
|
||||
QList<TimerInfoDto> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
};
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -96,9 +95,9 @@ public:
|
|||
void setImageFetcherOrderNull();
|
||||
|
||||
|
||||
QList<QSharedPointer<ImageOption>> imageOptions() const;
|
||||
QList<ImageOption> imageOptions() const;
|
||||
|
||||
void setImageOptions(QList<QSharedPointer<ImageOption>> newImageOptions);
|
||||
void setImageOptions(QList<ImageOption> newImageOptions);
|
||||
bool imageOptionsNull() const;
|
||||
void setImageOptionsNull();
|
||||
|
||||
|
@ -109,7 +108,7 @@ protected:
|
|||
QStringList m_metadataFetcherOrder;
|
||||
QStringList m_imageFetchers;
|
||||
QStringList m_imageFetcherOrder;
|
||||
QList<QSharedPointer<ImageOption>> m_imageOptions;
|
||||
QList<ImageOption> m_imageOptions;
|
||||
};
|
||||
|
||||
} // NS DTO
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
@ -113,9 +112,9 @@ public:
|
|||
void setEnableUserPreferenceAccess(bool newEnableUserPreferenceAccess);
|
||||
|
||||
|
||||
QList<QSharedPointer<AccessSchedule>> accessSchedules() const;
|
||||
QList<AccessSchedule> accessSchedules() const;
|
||||
|
||||
void setAccessSchedules(QList<QSharedPointer<AccessSchedule>> newAccessSchedules);
|
||||
void setAccessSchedules(QList<AccessSchedule> newAccessSchedules);
|
||||
bool accessSchedulesNull() const;
|
||||
void setAccessSchedulesNull();
|
||||
|
||||
|
@ -309,7 +308,7 @@ protected:
|
|||
std::optional<qint32> m_maxParentalRating = std::nullopt;
|
||||
QStringList m_blockedTags;
|
||||
bool m_enableUserPreferenceAccess;
|
||||
QList<QSharedPointer<AccessSchedule>> m_accessSchedules;
|
||||
QList<AccessSchedule> m_accessSchedules;
|
||||
QList<UnratedItem> m_blockUnratedItems;
|
||||
bool m_enableRemoteControlOfOtherUsers;
|
||||
bool m_enableSharedDeviceControl;
|
||||
|
|
|
@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
#include "apimodel.h"
|
||||
#include "serverdiscoverymodel.h"
|
||||
#include "viewmodel/item.h"
|
||||
#include "viewmodel/itemmodel.h"
|
||||
#include "viewmodel/loader.h"
|
||||
#include "viewmodel/playbackmanager.h"
|
||||
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Adds a listings provider.
|
||||
*/
|
||||
class AddListingProvider : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ListingsProviderInfo, AddListingProviderParams> {
|
||||
class AddListingProviderLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ListingsProviderInfo, AddListingProviderParams> {
|
||||
public:
|
||||
explicit AddListingProvider(ApiClient *apiClient = nullptr);
|
||||
explicit AddListingProviderLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const AddListingProviderParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Adds a tuner host.
|
||||
*/
|
||||
class AddTunerHost : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::TunerHostInfo, AddTunerHostParams> {
|
||||
class AddTunerHostLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::TunerHostInfo, AddTunerHostParams> {
|
||||
public:
|
||||
explicit AddTunerHost(ApiClient *apiClient = nullptr);
|
||||
explicit AddTunerHostLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const AddTunerHostParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Authenticates a user.
|
||||
*/
|
||||
class AuthenticateUser : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::AuthenticationResult, AuthenticateUserParams> {
|
||||
class AuthenticateUserLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::AuthenticationResult, AuthenticateUserParams> {
|
||||
public:
|
||||
explicit AuthenticateUser(ApiClient *apiClient = nullptr);
|
||||
explicit AuthenticateUserLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const AuthenticateUserParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Authenticates a user by name.
|
||||
*/
|
||||
class AuthenticateUserByName : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::AuthenticationResult, AuthenticateUserByNameParams> {
|
||||
class AuthenticateUserByNameLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::AuthenticationResult, AuthenticateUserByNameParams> {
|
||||
public:
|
||||
explicit AuthenticateUserByName(ApiClient *apiClient = nullptr);
|
||||
explicit AuthenticateUserByNameLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const AuthenticateUserByNameParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Authenticates a user with quick connect.
|
||||
*/
|
||||
class AuthenticateWithQuickConnect : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::AuthenticationResult, AuthenticateWithQuickConnectParams> {
|
||||
class AuthenticateWithQuickConnectLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::AuthenticationResult, AuthenticateWithQuickConnectParams> {
|
||||
public:
|
||||
explicit AuthenticateWithQuickConnect(ApiClient *apiClient = nullptr);
|
||||
explicit AuthenticateWithQuickConnectLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const AuthenticateWithQuickConnectParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Attempts to retrieve authentication information.
|
||||
*/
|
||||
class Connect : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::QuickConnectResult, ConnectParams> {
|
||||
class ConnectLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::QuickConnectResult, ConnectParams> {
|
||||
public:
|
||||
explicit Connect(ApiClient *apiClient = nullptr);
|
||||
explicit ConnectLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const ConnectParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates a new collection.
|
||||
*/
|
||||
class CreateCollection : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::CollectionCreationResult, CreateCollectionParams> {
|
||||
class CreateCollectionLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::CollectionCreationResult, CreateCollectionParams> {
|
||||
public:
|
||||
explicit CreateCollection(ApiClient *apiClient = nullptr);
|
||||
explicit CreateCollectionLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const CreateCollectionParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates a new playlist.
|
||||
*/
|
||||
class CreatePlaylist : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::PlaylistCreationResult, CreatePlaylistParams> {
|
||||
class CreatePlaylistLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::PlaylistCreationResult, CreatePlaylistParams> {
|
||||
public:
|
||||
explicit CreatePlaylist(ApiClient *apiClient = nullptr);
|
||||
explicit CreatePlaylistLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const CreatePlaylistParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates a user.
|
||||
*/
|
||||
class CreateUserByName : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::UserDto, CreateUserByNameParams> {
|
||||
class CreateUserByNameLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::UserDto, CreateUserByNameParams> {
|
||||
public:
|
||||
explicit CreateUserByName(ApiClient *apiClient = nullptr);
|
||||
explicit CreateUserByNameLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const CreateUserByNameParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Deletes a user's saved personal rating for an item.
|
||||
*/
|
||||
class DeleteUserItemRating : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::UserItemDataDto, DeleteUserItemRatingParams> {
|
||||
class DeleteUserItemRatingLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::UserItemDataDto, DeleteUserItemRatingParams> {
|
||||
public:
|
||||
explicit DeleteUserItemRating(ApiClient *apiClient = nullptr);
|
||||
explicit DeleteUserItemRatingLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const DeleteUserItemRatingParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Initiates the forgot password process for a local user.
|
||||
*/
|
||||
class ForgotPassword : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ForgotPasswordResult, ForgotPasswordParams> {
|
||||
class ForgotPasswordLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ForgotPasswordResult, ForgotPasswordParams> {
|
||||
public:
|
||||
explicit ForgotPassword(ApiClient *apiClient = nullptr);
|
||||
explicit ForgotPasswordLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const ForgotPasswordParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Redeems a forgot password pin.
|
||||
*/
|
||||
class ForgotPasswordPin : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::PinRedeemResult, ForgotPasswordPinParams> {
|
||||
class ForgotPasswordPinLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::PinRedeemResult, ForgotPasswordPinParams> {
|
||||
public:
|
||||
explicit ForgotPasswordPin(ApiClient *apiClient = nullptr);
|
||||
explicit ForgotPasswordPinLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const ForgotPasswordPinParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets the search hint result.
|
||||
*/
|
||||
class Get : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::SearchHintResult, GetParams> {
|
||||
class GetLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::SearchHintResult, GetParams> {
|
||||
public:
|
||||
explicit Get(ApiClient *apiClient = nullptr);
|
||||
explicit GetLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets additional parts for a video.
|
||||
*/
|
||||
class GetAdditionalPart : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetAdditionalPartParams> {
|
||||
class GetAdditionalPartLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetAdditionalPartParams> {
|
||||
public:
|
||||
explicit GetAdditionalPart(ApiClient *apiClient = nullptr);
|
||||
explicit GetAdditionalPartLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetAdditionalPartParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets all album artists from a given item, folder, or the entire library.
|
||||
*/
|
||||
class GetAlbumArtists : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetAlbumArtistsParams> {
|
||||
class GetAlbumArtistsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetAlbumArtistsParams> {
|
||||
public:
|
||||
explicit GetAlbumArtists(ApiClient *apiClient = nullptr);
|
||||
explicit GetAlbumArtistsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetAlbumArtistsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets an artist by name.
|
||||
*/
|
||||
class GetArtistByName : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetArtistByNameParams> {
|
||||
class GetArtistByNameLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetArtistByNameParams> {
|
||||
public:
|
||||
explicit GetArtistByName(ApiClient *apiClient = nullptr);
|
||||
explicit GetArtistByNameLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetArtistByNameParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets all artists from a given item, folder, or the entire library.
|
||||
*/
|
||||
class GetArtists : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetArtistsParams> {
|
||||
class GetArtistsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetArtistsParams> {
|
||||
public:
|
||||
explicit GetArtists(ApiClient *apiClient = nullptr);
|
||||
explicit GetArtistsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetArtistsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets branding configuration.
|
||||
*/
|
||||
class GetBrandingOptions : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BrandingOptions, GetBrandingOptionsParams> {
|
||||
class GetBrandingOptionsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BrandingOptions, GetBrandingOptionsParams> {
|
||||
public:
|
||||
explicit GetBrandingOptions(ApiClient *apiClient = nullptr);
|
||||
explicit GetBrandingOptionsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetBrandingOptionsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets a live tv channel.
|
||||
*/
|
||||
class GetChannel : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetChannelParams> {
|
||||
class GetChannelLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetChannelParams> {
|
||||
public:
|
||||
explicit GetChannel(ApiClient *apiClient = nullptr);
|
||||
explicit GetChannelLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetChannelParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get channel features.
|
||||
*/
|
||||
class GetChannelFeatures : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ChannelFeatures, GetChannelFeaturesParams> {
|
||||
class GetChannelFeaturesLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ChannelFeatures, GetChannelFeaturesParams> {
|
||||
public:
|
||||
explicit GetChannelFeatures(ApiClient *apiClient = nullptr);
|
||||
explicit GetChannelFeaturesLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetChannelFeaturesParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get channel items.
|
||||
*/
|
||||
class GetChannelItems : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetChannelItemsParams> {
|
||||
class GetChannelItemsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetChannelItemsParams> {
|
||||
public:
|
||||
explicit GetChannelItems(ApiClient *apiClient = nullptr);
|
||||
explicit GetChannelItemsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetChannelItemsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get channel mapping options.
|
||||
*/
|
||||
class GetChannelMappingOptions : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ChannelMappingOptionsDto, GetChannelMappingOptionsParams> {
|
||||
class GetChannelMappingOptionsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ChannelMappingOptionsDto, GetChannelMappingOptionsParams> {
|
||||
public:
|
||||
explicit GetChannelMappingOptions(ApiClient *apiClient = nullptr);
|
||||
explicit GetChannelMappingOptionsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetChannelMappingOptionsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets available channels.
|
||||
*/
|
||||
class GetChannels : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetChannelsParams> {
|
||||
class GetChannelsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetChannelsParams> {
|
||||
public:
|
||||
explicit GetChannels(ApiClient *apiClient = nullptr);
|
||||
explicit GetChannelsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetChannelsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets application configuration.
|
||||
*/
|
||||
class GetConfiguration : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ServerConfiguration, GetConfigurationParams> {
|
||||
class GetConfigurationLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ServerConfiguration, GetConfigurationParams> {
|
||||
public:
|
||||
explicit GetConfiguration(ApiClient *apiClient = nullptr);
|
||||
explicit GetConfigurationLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetConfigurationParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets critic review for an item.
|
||||
*/
|
||||
class GetCriticReviews : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetCriticReviewsParams> {
|
||||
class GetCriticReviewsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetCriticReviewsParams> {
|
||||
public:
|
||||
explicit GetCriticReviews(ApiClient *apiClient = nullptr);
|
||||
explicit GetCriticReviewsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetCriticReviewsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets the user based on auth token.
|
||||
*/
|
||||
class GetCurrentUser : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::UserDto, GetCurrentUserParams> {
|
||||
class GetCurrentUserLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::UserDto, GetCurrentUserParams> {
|
||||
public:
|
||||
explicit GetCurrentUser(ApiClient *apiClient = nullptr);
|
||||
explicit GetCurrentUserLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetCurrentUserParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get Default directory browser.
|
||||
*/
|
||||
class GetDefaultDirectoryBrowser : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DefaultDirectoryBrowserInfoDto, GetDefaultDirectoryBrowserParams> {
|
||||
class GetDefaultDirectoryBrowserLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DefaultDirectoryBrowserInfoDto, GetDefaultDirectoryBrowserParams> {
|
||||
public:
|
||||
explicit GetDefaultDirectoryBrowser(ApiClient *apiClient = nullptr);
|
||||
explicit GetDefaultDirectoryBrowserLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDefaultDirectoryBrowserParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets default listings provider info.
|
||||
*/
|
||||
class GetDefaultListingProvider : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ListingsProviderInfo, GetDefaultListingProviderParams> {
|
||||
class GetDefaultListingProviderLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ListingsProviderInfo, GetDefaultListingProviderParams> {
|
||||
public:
|
||||
explicit GetDefaultListingProvider(ApiClient *apiClient = nullptr);
|
||||
explicit GetDefaultListingProviderLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDefaultListingProviderParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets a default MetadataOptions object.
|
||||
*/
|
||||
class GetDefaultMetadataOptions : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::MetadataOptions, GetDefaultMetadataOptionsParams> {
|
||||
class GetDefaultMetadataOptionsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::MetadataOptions, GetDefaultMetadataOptionsParams> {
|
||||
public:
|
||||
explicit GetDefaultMetadataOptions(ApiClient *apiClient = nullptr);
|
||||
explicit GetDefaultMetadataOptionsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDefaultMetadataOptionsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets the default profile.
|
||||
*/
|
||||
class GetDefaultProfile : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceProfile, GetDefaultProfileParams> {
|
||||
class GetDefaultProfileLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceProfile, GetDefaultProfileParams> {
|
||||
public:
|
||||
explicit GetDefaultProfile(ApiClient *apiClient = nullptr);
|
||||
explicit GetDefaultProfileLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDefaultProfileParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets the default values for a new timer.
|
||||
*/
|
||||
class GetDefaultTimer : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::SeriesTimerInfoDto, GetDefaultTimerParams> {
|
||||
class GetDefaultTimerLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::SeriesTimerInfoDto, GetDefaultTimerParams> {
|
||||
public:
|
||||
explicit GetDefaultTimer(ApiClient *apiClient = nullptr);
|
||||
explicit GetDefaultTimerLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDefaultTimerParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get info for a device.
|
||||
*/
|
||||
class GetDeviceInfo : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceInfo, GetDeviceInfoParams> {
|
||||
class GetDeviceInfoLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceInfo, GetDeviceInfoParams> {
|
||||
public:
|
||||
explicit GetDeviceInfo(ApiClient *apiClient = nullptr);
|
||||
explicit GetDeviceInfoLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDeviceInfoParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get options for a device.
|
||||
*/
|
||||
class GetDeviceOptions : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceOptions, GetDeviceOptionsParams> {
|
||||
class GetDeviceOptionsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceOptions, GetDeviceOptionsParams> {
|
||||
public:
|
||||
explicit GetDeviceOptions(ApiClient *apiClient = nullptr);
|
||||
explicit GetDeviceOptionsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDeviceOptionsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get Devices.
|
||||
*/
|
||||
class GetDevices : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceInfoQueryResult, GetDevicesParams> {
|
||||
class GetDevicesLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceInfoQueryResult, GetDevicesParams> {
|
||||
public:
|
||||
explicit GetDevices(ApiClient *apiClient = nullptr);
|
||||
explicit GetDevicesLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDevicesParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get Display Preferences.
|
||||
*/
|
||||
class GetDisplayPreferences : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DisplayPreferencesDto, GetDisplayPreferencesParams> {
|
||||
class GetDisplayPreferencesLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DisplayPreferencesDto, GetDisplayPreferencesParams> {
|
||||
public:
|
||||
explicit GetDisplayPreferences(ApiClient *apiClient = nullptr);
|
||||
explicit GetDisplayPreferencesLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetDisplayPreferencesParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets information about the request endpoint.
|
||||
*/
|
||||
class GetEndpointInfo : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::EndPointInfo, GetEndpointInfoParams> {
|
||||
class GetEndpointInfoLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::EndPointInfo, GetEndpointInfoParams> {
|
||||
public:
|
||||
explicit GetEndpointInfo(ApiClient *apiClient = nullptr);
|
||||
explicit GetEndpointInfoLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetEndpointInfoParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets episodes for a tv season.
|
||||
*/
|
||||
class GetEpisodes : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetEpisodesParams> {
|
||||
class GetEpisodesLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetEpisodesParams> {
|
||||
public:
|
||||
explicit GetEpisodes(ApiClient *apiClient = nullptr);
|
||||
explicit GetEpisodesLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetEpisodesParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets the first user.
|
||||
*/
|
||||
class GetFirstUser : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::StartupUserDto, GetFirstUserParams> {
|
||||
class GetFirstUserLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::StartupUserDto, GetFirstUserParams> {
|
||||
public:
|
||||
explicit GetFirstUser(ApiClient *apiClient = nullptr);
|
||||
explicit GetFirstUserLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetFirstUserParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets the first user.
|
||||
*/
|
||||
class GetFirstUser_2 : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::StartupUserDto, GetFirstUser_2Params> {
|
||||
class GetFirstUser_2Loader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::StartupUserDto, GetFirstUser_2Params> {
|
||||
public:
|
||||
explicit GetFirstUser_2(ApiClient *apiClient = nullptr);
|
||||
explicit GetFirstUser_2Loader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetFirstUser_2Params& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets a genre, by name.
|
||||
*/
|
||||
class GetGenre : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetGenreParams> {
|
||||
class GetGenreLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetGenreParams> {
|
||||
public:
|
||||
explicit GetGenre(ApiClient *apiClient = nullptr);
|
||||
explicit GetGenreLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetGenreParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets all genres from a given item, folder, or the entire library.
|
||||
*/
|
||||
class GetGenres : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetGenresParams> {
|
||||
class GetGenresLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetGenresParams> {
|
||||
public:
|
||||
explicit GetGenres(ApiClient *apiClient = nullptr);
|
||||
explicit GetGenresLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetGenresParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get guid info.
|
||||
*/
|
||||
class GetGuideInfo : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::GuideInfo, GetGuideInfoParams> {
|
||||
class GetGuideInfoLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::GuideInfo, GetGuideInfoParams> {
|
||||
public:
|
||||
explicit GetGuideInfo(ApiClient *apiClient = nullptr);
|
||||
explicit GetGuideInfoLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetGuideInfoParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates an instant playlist based on a given song.
|
||||
*/
|
||||
class GetInstantMixFromAlbum : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromAlbumParams> {
|
||||
class GetInstantMixFromAlbumLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromAlbumParams> {
|
||||
public:
|
||||
explicit GetInstantMixFromAlbum(ApiClient *apiClient = nullptr);
|
||||
explicit GetInstantMixFromAlbumLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetInstantMixFromAlbumParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates an instant playlist based on a given song.
|
||||
*/
|
||||
class GetInstantMixFromArtists : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromArtistsParams> {
|
||||
class GetInstantMixFromArtistsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromArtistsParams> {
|
||||
public:
|
||||
explicit GetInstantMixFromArtists(ApiClient *apiClient = nullptr);
|
||||
explicit GetInstantMixFromArtistsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetInstantMixFromArtistsParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates an instant playlist based on a given song.
|
||||
*/
|
||||
class GetInstantMixFromItem : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromItemParams> {
|
||||
class GetInstantMixFromItemLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromItemParams> {
|
||||
public:
|
||||
explicit GetInstantMixFromItem(ApiClient *apiClient = nullptr);
|
||||
explicit GetInstantMixFromItemLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetInstantMixFromItemParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates an instant playlist based on a given song.
|
||||
*/
|
||||
class GetInstantMixFromMusicGenre : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromMusicGenreParams> {
|
||||
class GetInstantMixFromMusicGenreLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromMusicGenreParams> {
|
||||
public:
|
||||
explicit GetInstantMixFromMusicGenre(ApiClient *apiClient = nullptr);
|
||||
explicit GetInstantMixFromMusicGenreLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetInstantMixFromMusicGenreParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates an instant playlist based on a given song.
|
||||
*/
|
||||
class GetInstantMixFromMusicGenres : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromMusicGenresParams> {
|
||||
class GetInstantMixFromMusicGenresLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromMusicGenresParams> {
|
||||
public:
|
||||
explicit GetInstantMixFromMusicGenres(ApiClient *apiClient = nullptr);
|
||||
explicit GetInstantMixFromMusicGenresLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetInstantMixFromMusicGenresParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates an instant playlist based on a given song.
|
||||
*/
|
||||
class GetInstantMixFromPlaylist : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromPlaylistParams> {
|
||||
class GetInstantMixFromPlaylistLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromPlaylistParams> {
|
||||
public:
|
||||
explicit GetInstantMixFromPlaylist(ApiClient *apiClient = nullptr);
|
||||
explicit GetInstantMixFromPlaylistLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetInstantMixFromPlaylistParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Creates an instant playlist based on a given song.
|
||||
*/
|
||||
class GetInstantMixFromSong : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromSongParams> {
|
||||
class GetInstantMixFromSongLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetInstantMixFromSongParams> {
|
||||
public:
|
||||
explicit GetInstantMixFromSong(ApiClient *apiClient = nullptr);
|
||||
explicit GetInstantMixFromSongLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetInstantMixFromSongParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets intros to play before the main media item plays.
|
||||
*/
|
||||
class GetIntros : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetIntrosParams> {
|
||||
class GetIntrosLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDtoQueryResult, GetIntrosParams> {
|
||||
public:
|
||||
explicit GetIntros(ApiClient *apiClient = nullptr);
|
||||
explicit GetIntrosLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetIntrosParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Gets an item from a user's library.
|
||||
*/
|
||||
class GetItem : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetItemParams> {
|
||||
class GetItemLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::BaseItemDto, GetItemParams> {
|
||||
public:
|
||||
explicit GetItem(ApiClient *apiClient = nullptr);
|
||||
explicit GetItemLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetItemParams& parameters) const override;
|
||||
|
|
|
@ -45,9 +45,9 @@ namespace HTTP {
|
|||
/**
|
||||
* @brief Get item counts.
|
||||
*/
|
||||
class GetItemCounts : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ItemCounts, GetItemCountsParams> {
|
||||
class GetItemCountsLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::ItemCounts, GetItemCountsParams> {
|
||||
public:
|
||||
explicit GetItemCounts(ApiClient *apiClient = nullptr);
|
||||
explicit GetItemCountsLoader(ApiClient *apiClient = nullptr);
|
||||
|
||||
protected:
|
||||
QString path(const GetItemCountsParams& parameters) const override;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue