1
0
Fork 0
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:
Chris Josten 2021-03-26 21:27:35 +01:00
parent 76a49868b9
commit e421adf733
356 changed files with 1830 additions and 1833 deletions

View file

@ -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

View file

@ -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)

View file

@ -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;

View file

@ -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}} &params) const {
QString {{className}}Loader::path(const {{endpoint.parameterType}} &params) 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}} &params) const {
QUrlQuery {{className}}Loader::query(const {{endpoint.parameterType}} &params) const {
Q_UNUSED(params) // Might be overzealous, but I don't like theses kind of warnings
QUrlQuery result;

View file

@ -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;
/**

View file

@ -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 &parameters, int limit) {
Q_UNUSED(parameters)
Q_UNUSED(limit)
Q_UNIMPLEMENTED();
}
template <class P>
void setRequestStartIndex(P &parameters, 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);

View file

@ -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;
};

View file

@ -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

View file

@ -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

View file

@ -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;
};

View file

@ -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;

View file

@ -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;

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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

View file

@ -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;
};

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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;
};

View file

@ -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;

View file

@ -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

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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

View file

@ -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;
};

View file

@ -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;

View file

@ -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;
};

View file

@ -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

View file

@ -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

View file

@ -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;
};

View file

@ -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;
};

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;
};

View file

@ -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

View file

@ -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;

View file

@ -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"

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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