1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-11-22 09:15:18 +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/jsonconv.cpp
src/support/loader.cpp src/support/loader.cpp
src/viewmodel/item.cpp src/viewmodel/item.cpp
src/viewmodel/itemmodel.cpp
src/viewmodel/loader.cpp src/viewmodel/loader.cpp
src/viewmodel/playbackmanager.cpp src/viewmodel/playbackmanager.cpp
src/apiclient.cpp src/apiclient.cpp
@ -28,7 +29,9 @@ set(JellyfinQt_HEADERS
include/JellyfinQt/support/jsonconv.h include/JellyfinQt/support/jsonconv.h
include/JellyfinQt/support/loader.h include/JellyfinQt/support/loader.h
include/JellyfinQt/viewmodel/item.h include/JellyfinQt/viewmodel/item.h
include/JellyfinQt/viewmodel/itemmodel.h
include/JellyfinQt/viewmodel/loader.h include/JellyfinQt/viewmodel/loader.h
include/JellyfinQt/viewmodel/propertyhelper.h
include/JellyfinQt/viewmodel/playbackmanager.h include/JellyfinQt/viewmodel/playbackmanager.h
include/JellyfinQt/apiclient.h include/JellyfinQt/apiclient.h
include/JellyfinQt/apimodel.h include/JellyfinQt/apimodel.h

View file

@ -702,7 +702,8 @@ set(openapi_HEADERS
./include/JellyfinQt/loader/http/headvideostream.h ./include/JellyfinQt/loader/http/headvideostream.h
./include/JellyfinQt/loader/http/mergeversions.h ./include/JellyfinQt/loader/http/mergeversions.h
./include/JellyfinQt/loader/http/getyears.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 set(openapi_SOURCES
./src/dto/loglevel.cpp ./src/dto/loglevel.cpp
@ -1377,4 +1378,4 @@ set(openapi_SOURCES
./src/loader/http/mergeversions.cpp ./src/loader/http/mergeversions.cpp
./src/loader/http/getyears.cpp ./src/loader/http/getyears.cpp
./src/loader/http/getyear.cpp ./src/loader/http/getyear.cpp
./include/JellyfinQt/loader/requesttypes.h) ./src/loader/requesttypes.cpp)

View file

@ -6,9 +6,9 @@
*/ */
{{/if}} {{/if}}
class {{className}} : public {{supportNamespace}}::HttpLoader<{{dtoNamespace}}::{{endpoint.resultType}}, {{endpoint.parameterType}}> { class {{className}}Loader : public {{supportNamespace}}::HttpLoader<{{dtoNamespace}}::{{endpoint.resultType}}, {{endpoint.parameterType}}> {
public: public:
explicit {{className}}(ApiClient *apiClient = nullptr); explicit {{className}}Loader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const {{endpoint.parameterType}}& parameters) const override; QString path(const {{endpoint.parameterType}}& parameters) const override;

View file

@ -1,15 +1,15 @@
{{#if endpoint.hasSuccessResponse}} {{#if endpoint.hasSuccessResponse}}
{{className}}::{{className}}(ApiClient *apiClient) {{className}}Loader::{{className}}Loader(ApiClient *apiClient)
: {{supportNamespace}}::HttpLoader<{{dtoNamespace}}::{{endpoint.resultType}}, {{endpoint.parameterType}}>(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 Q_UNUSED(params) // Might be overzealous, but I don't like theses kind of warnings
return {{pathStringInterpolation "params"}}; 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 Q_UNUSED(params) // Might be overzealous, but I don't like theses kind of warnings
QUrlQuery result; QUrlQuery result;

View file

@ -94,7 +94,7 @@ public:
Q_PROPERTY(QString version READ version) Q_PROPERTY(QString version READ version)
Q_PROPERTY(EventBus *eventbus READ eventbus FINAL) Q_PROPERTY(EventBus *eventbus READ eventbus FINAL)
Q_PROPERTY(WebSocket *websocket READ websocket 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". * 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 list support commands will be sent to the Jellyfin server. QML applications should listen to
* the events emitted by the eventBus and act accordingly. * the events emitted by the eventBus and act accordingly.
*/ */
QList<GeneralCommandType> supportedCommands() const { return m_supportedCommands; } QVariantList supportedCommands() const { return m_supportedCommands; }
void setSupportedCommands(QList<GeneralCommandType> newSupportedCommands) { m_supportedCommands = newSupportedCommands; } void setSupportedCommands(QVariantList newSupportedCommands) { m_supportedCommands = newSupportedCommands; emit supportedCommandsChanged(); }
QJsonObject &deviceProfile() { return m_deviceProfile; } QJsonObject &deviceProfile() { return m_deviceProfile; }
QJsonObject &playbackDeviceProfile() { return m_playbackDeviceProfile; } QJsonObject &playbackDeviceProfile() { return m_playbackDeviceProfile; }
/** /**
@ -278,7 +278,7 @@ private:
QJsonObject m_deviceProfile; QJsonObject m_deviceProfile;
QJsonObject m_playbackDeviceProfile; QJsonObject m_playbackDeviceProfile;
bool m_online = true; bool m_online = true;
QList<GeneralCommandType> m_supportedCommands; QVariantList m_supportedCommands;
bool m_authenticated = false; 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 #ifndef JELLYFIN_API_MODEL
#define JELLYFIN_API_MODEL #define JELLYFIN_API_MODEL
#include <optional>
#include <QAbstractListModel> #include <QAbstractListModel>
#include <QFlags> #include <QFlags>
#include <QFuture>
#include <QFutureWatcher>
#include <QMetaEnum> #include <QMetaEnum>
#include <QJsonArray> #include <QJsonArray>
#include <QJsonDocument> #include <QJsonDocument>
#include <QJsonValue> #include <QJsonValue>
#include <QtConcurrent/QtConcurrent>
#include <QtQml> #include <QtQml>
#include <QQmlParserStatus> #include <QQmlParserStatus>
#include <QVariant> #include <QVariant>
@ -36,41 +41,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#include "dto/baseitemdto.h" #include "dto/baseitemdto.h"
#include "dto/userdto.h" #include "dto/userdto.h"
#include "dto/useritemdatadto.h" #include "dto/useritemdatadto.h"
#include "dto/baseitemdtoqueryresult.h"
#include "loader/requesttypes.h"
#include "support/loader.h"
namespace Jellyfin { 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 * Pageable response, which support offset and record parameters. The result
* Q_OBJECT related properties and signals. * should contain a field with the total item count, returned item count and an array
* containing the results.
*/ */
class BaseApiModel : public QAbstractListModel, public QQmlParserStatus { struct PageableResponse;
Q_OBJECT
class ModelStatusClass {
Q_GADGET
public: public:
explicit BaseApiModel(QString path, bool hasRecordResponse, bool addUserId, QObject *parent = nullptr);
enum ModelStatus { enum ModelStatus {
Uninitialised, Uninitialised,
Loading, Loading,
@ -79,61 +65,51 @@ public:
LoadingMore LoadingMore
}; };
Q_ENUM(ModelStatus) Q_ENUM(ModelStatus)
private:
ModelStatusClass() {}
};
enum SortOrder { using ModelStatus = ModelStatusClass::ModelStatus;
Unspecified,
Ascending, class BaseModelLoader : public QObject, public QQmlParserStatus {
Descending Q_INTERFACES(QQmlParserStatus)
}; Q_OBJECT
Q_ENUM(SortOrder) public:
Q_PROPERTY(ApiClient *apiClient MEMBER m_apiClient NOTIFY apiClientChanged) 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(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)
// Query properties ApiClient *apiClient() const { return m_apiClient; }
Q_PROPERTY(int limit MEMBER m_limit NOTIFY limitChanged) void setApiClient(ApiClient *newApiClient);
Q_PROPERTY(QList<QString> sortBy MEMBER m_sortBy NOTIFY sortByChanged)
Q_PROPERTY(QList<QString> fields MEMBER m_fields NOTIFY fieldsChanged) int limit() const { return m_limit; }
Q_PROPERTY(SortOrder sortOrder MEMBER m_sortOrder NOTIFY sortOrderChanged) void setLimit(int newLimit);
bool autoReload() const { return m_autoReload; }
void setAutoReload(bool newAutoReload);
ModelStatus status() const { return m_status; } 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: signals:
void ready(); void ready();
void apiClientChanged(ApiClient *newApiClient); void apiClientChanged(ApiClient *newApiClient);
void statusChanged(ModelStatus newStatus); void statusChanged();
void limitChanged(int newLimit); void limitChanged(int newLimit);
void sortByChanged(QList<QString> newSortOrder); void autoReloadChanged(bool newAutoReload);
void sortOrderChanged(SortOrder newSortOrder);
void fieldsChanged(QList<QString> newFields);
public slots: void reloadWanted();
/**
* @brief (Re)loads the data into this model. This might make a network request.
*/
void reload();
protected: protected:
enum LoadType { // Is this object being parsed by the QML engine
RELOAD,
LOAD_MORE
};
ApiClient *m_apiClient = nullptr;
bool m_isBeingParsed = false; bool m_isBeingParsed = false;
// Per-model specific settings. ApiClient *m_apiClient = nullptr;
QString m_path; bool m_autoReload = true;
bool m_hasRecordResponse;
bool m_addUserId;
// Query/record controlling properties // Query/record controlling properties
int m_limit = -1; int m_limit = -1;
@ -141,55 +117,168 @@ protected:
int m_totalRecordCount = 0; int m_totalRecordCount = 0;
const int DEFAULT_LIMIT = 100; const int DEFAULT_LIMIT = 100;
// Query properties ModelStatus m_status = ModelStatus::Uninitialised;
QList<QString> m_fields = {};
QList<QString> m_sortBy = {};
SortOrder m_sortOrder = Unspecified;
// State properties.
ModelStatus m_status = Uninitialised;
void setStatus(ModelStatus newStatus) { void setStatus(ModelStatus newStatus) {
if (this->m_status != newStatus) { if (this->m_status != newStatus) {
this->m_status = newStatus; this->m_status = newStatus;
emit this->statusChanged(newStatus); emit this->statusChanged();
if (m_status == Ready) { if (this->m_status == ModelStatus::Ready) {
emit 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 * @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 * @endcode
* The model will have roleNames for "name" and "id". * 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> template <class T>
class ApiModel : public BaseApiModel { class ApiModel : public BaseApiModel {
@ -246,156 +339,126 @@ public:
* @endcode * @endcode
* responseHasRecords should be true * 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 // Standard QAbstractItemModel overrides
int rowCount(const QModelIndex &index) const override { int rowCount(const QModelIndex &index) const override {
if (!index.isValid()) return m_array.size(); if (!index.isValid()) return m_array.size();
return 0; 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 // QList-like API
T* at(int index) { return m_array.at(index); } T& at(int index) { return m_array.at(index); }
int size() { return rowCount(QModelIndex()); } /**
void insert(int index, T* object); * @return the amount of objects in this model.
void append(T* object) { insert(size(), object); } */
void removeAt(int index); int size() {
void removeOne(T* object); return m_array.size();
}
template<typename QEnum>
QString enumListToString (const QList<QEnum> enumList) { void insert(int index, T &object) {
QString result; Q_ASSERT(index >= 0 && index <= size());
for (QEnum e : enumList) { this->beginInsertRows(QModelIndex(), index, index);
result += QVariant::fromValue(e).toString() + ","; 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: 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. // 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: private:
/** QMetaObject::Connection m_futureWatcherConnection;
* @brief Generates roleNames based on the first record in m_array.
*/
void generateFields();
QString sortByToString(SortOptions::SortBy sortBy);
}; };
/** /**
* @brief List of the public users on the server. * @brief List of the public users on the server.
*/ */
class PublicUserModel : public ApiModel<QJsonValue> { /*class PublicUserModel : public ApiModel<QJsonValue> {
public: public:
explicit PublicUserModel (QObject *parent = nullptr); 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<> //template<>
//void ApiModel<Item>::apiClientChanged(); //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); void registerModels(const char *URI);

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
QList<QSharedPointer<ActivityLogEntry>> items() const; QList<ActivityLogEntry> items() const;
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
void setItems(QList<QSharedPointer<ActivityLogEntry>> newItems); void setItems(QList<ActivityLogEntry> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -90,7 +89,7 @@ public:
protected: protected:
QList<QSharedPointer<ActivityLogEntry>> m_items; QList<ActivityLogEntry> m_items;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
qint32 m_startIndex; qint32 m_startIndex;
}; };

View file

@ -34,7 +34,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -176,9 +175,9 @@ public:
void setArtistProviderIdsNull(); 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; bool songInfosNull() const;
void setSongInfosNull(); void setSongInfosNull();
@ -196,7 +195,7 @@ protected:
bool m_isAutomated; bool m_isAutomated;
QStringList m_albumArtists; QStringList m_albumArtists;
std::optional<QJsonObject> m_artistProviderIds = std::nullopt; std::optional<QJsonObject> m_artistProviderIds = std::nullopt;
QList<QSharedPointer<SongInfo>> m_songInfos; QList<SongInfo> m_songInfos;
}; };
} // NS DTO } // NS DTO

View file

@ -34,7 +34,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -154,9 +153,9 @@ public:
void setIsAutomated(bool newIsAutomated); 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; bool songInfosNull() const;
void setSongInfosNull(); void setSongInfosNull();
@ -172,7 +171,7 @@ protected:
std::optional<qint32> m_parentIndexNumber = std::nullopt; std::optional<qint32> m_parentIndexNumber = std::nullopt;
QDateTime m_premiereDate; QDateTime m_premiereDate;
bool m_isAutomated; bool m_isAutomated;
QList<QSharedPointer<SongInfo>> m_songInfos; QList<SongInfo> m_songInfos;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
QList<QSharedPointer<AuthenticationInfo>> items() const; QList<AuthenticationInfo> items() const;
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
void setItems(QList<QSharedPointer<AuthenticationInfo>> newItems); void setItems(QList<AuthenticationInfo> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -90,7 +89,7 @@ public:
protected: protected:
QList<QSharedPointer<AuthenticationInfo>> m_items; QList<AuthenticationInfo> m_items;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
qint32 m_startIndex; qint32 m_startIndex;
}; };

View file

@ -34,7 +34,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -83,11 +82,11 @@ public:
/** /**
* @brief Gets or sets the remote trailers. * @brief Gets or sets the remote trailers.
*/ */
QList<QSharedPointer<MediaUrl>> remoteTrailers() const; QList<MediaUrl> remoteTrailers() const;
/** /**
* @brief Gets or sets the remote trailers. * @brief Gets or sets the remote trailers.
*/ */
void setRemoteTrailers(QList<QSharedPointer<MediaUrl>> newRemoteTrailers); void setRemoteTrailers(QList<MediaUrl> newRemoteTrailers);
bool remoteTrailersNull() const; bool remoteTrailersNull() const;
void setRemoteTrailersNull(); void setRemoteTrailersNull();
@ -135,7 +134,7 @@ protected:
std::optional<qint64> m_size = std::nullopt; std::optional<qint64> m_size = std::nullopt;
QString m_container; QString m_container;
QDateTime m_dateLastSaved; QDateTime m_dateLastSaved;
QList<QSharedPointer<MediaUrl>> m_remoteTrailers; QList<MediaUrl> m_remoteTrailers;
bool m_isHD; bool m_isHD;
bool m_isShortcut; bool m_isShortcut;
QString m_shortcutPath; QString m_shortcutPath;

View file

@ -285,22 +285,22 @@ public:
/** /**
* @brief Gets or sets the external urls. * @brief Gets or sets the external urls.
*/ */
QList<QSharedPointer<ExternalUrl>> externalUrls() const; QList<ExternalUrl> externalUrls() const;
/** /**
* @brief Gets or sets the external urls. * @brief Gets or sets the external urls.
*/ */
void setExternalUrls(QList<QSharedPointer<ExternalUrl>> newExternalUrls); void setExternalUrls(QList<ExternalUrl> newExternalUrls);
bool externalUrlsNull() const; bool externalUrlsNull() const;
void setExternalUrlsNull(); void setExternalUrlsNull();
/** /**
* @brief Gets or sets the media versions. * @brief Gets or sets the media versions.
*/ */
QList<QSharedPointer<MediaSourceInfo>> mediaSources() const; QList<MediaSourceInfo> mediaSources() const;
/** /**
* @brief Gets or sets the media versions. * @brief Gets or sets the media versions.
*/ */
void setMediaSources(QList<QSharedPointer<MediaSourceInfo>> newMediaSources); void setMediaSources(QList<MediaSourceInfo> newMediaSources);
bool mediaSourcesNull() const; bool mediaSourcesNull() const;
void setMediaSourcesNull(); void setMediaSourcesNull();
@ -538,11 +538,11 @@ public:
/** /**
* @brief Gets or sets the trailer urls. * @brief Gets or sets the trailer urls.
*/ */
QList<QSharedPointer<MediaUrl>> remoteTrailers() const; QList<MediaUrl> remoteTrailers() const;
/** /**
* @brief Gets or sets the trailer urls. * @brief Gets or sets the trailer urls.
*/ */
void setRemoteTrailers(QList<QSharedPointer<MediaUrl>> newRemoteTrailers); void setRemoteTrailers(QList<MediaUrl> newRemoteTrailers);
bool remoteTrailersNull() const; bool remoteTrailersNull() const;
void setRemoteTrailersNull(); void setRemoteTrailersNull();
@ -604,29 +604,29 @@ public:
/** /**
* @brief Gets or sets the people. * @brief Gets or sets the people.
*/ */
QList<QSharedPointer<BaseItemPerson>> people() const; QList<BaseItemPerson> people() const;
/** /**
* @brief Gets or sets the people. * @brief Gets or sets the people.
*/ */
void setPeople(QList<QSharedPointer<BaseItemPerson>> newPeople); void setPeople(QList<BaseItemPerson> newPeople);
bool peopleNull() const; bool peopleNull() const;
void setPeopleNull(); void setPeopleNull();
/** /**
* @brief Gets or sets the studios. * @brief Gets or sets the studios.
*/ */
QList<QSharedPointer<NameGuidPair>> studios() const; QList<NameGuidPair> studios() const;
/** /**
* @brief Gets or sets the studios. * @brief Gets or sets the studios.
*/ */
void setStudios(QList<QSharedPointer<NameGuidPair>> newStudios); void setStudios(QList<NameGuidPair> newStudios);
bool studiosNull() const; bool studiosNull() const;
void setStudiosNull(); 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; bool genreItemsNull() const;
void setGenreItemsNull(); void setGenreItemsNull();
@ -825,11 +825,11 @@ public:
/** /**
* @brief Gets or sets the artist items. * @brief Gets or sets the artist items.
*/ */
QList<QSharedPointer<NameGuidPair>> artistItems() const; QList<NameGuidPair> artistItems() const;
/** /**
* @brief Gets or sets the artist items. * @brief Gets or sets the artist items.
*/ */
void setArtistItems(QList<QSharedPointer<NameGuidPair>> newArtistItems); void setArtistItems(QList<NameGuidPair> newArtistItems);
bool artistItemsNull() const; bool artistItemsNull() const;
void setArtistItemsNull(); void setArtistItemsNull();
@ -913,11 +913,11 @@ public:
/** /**
* @brief Gets or sets the album artists. * @brief Gets or sets the album artists.
*/ */
QList<QSharedPointer<NameGuidPair>> albumArtists() const; QList<NameGuidPair> albumArtists() const;
/** /**
* @brief Gets or sets the album artists. * @brief Gets or sets the album artists.
*/ */
void setAlbumArtists(QList<QSharedPointer<NameGuidPair>> newAlbumArtists); void setAlbumArtists(QList<NameGuidPair> newAlbumArtists);
bool albumArtistsNull() const; bool albumArtistsNull() const;
void setAlbumArtistsNull(); void setAlbumArtistsNull();
@ -935,11 +935,11 @@ public:
/** /**
* @brief Gets or sets the media streams. * @brief Gets or sets the media streams.
*/ */
QList<QSharedPointer<MediaStream>> mediaStreams() const; QList<MediaStream> mediaStreams() const;
/** /**
* @brief Gets or sets the media streams. * @brief Gets or sets the media streams.
*/ */
void setMediaStreams(QList<QSharedPointer<MediaStream>> newMediaStreams); void setMediaStreams(QList<MediaStream> newMediaStreams);
bool mediaStreamsNull() const; bool mediaStreamsNull() const;
void setMediaStreamsNull(); void setMediaStreamsNull();
@ -1114,11 +1114,11 @@ Maps image type to dictionary mapping image tag to blurhash value.
/** /**
* @brief Gets or sets the chapters. * @brief Gets or sets the chapters.
*/ */
QList<QSharedPointer<ChapterInfo>> chapters() const; QList<ChapterInfo> chapters() const;
/** /**
* @brief Gets or sets the chapters. * @brief Gets or sets the chapters.
*/ */
void setChapters(QList<QSharedPointer<ChapterInfo>> newChapters); void setChapters(QList<ChapterInfo> newChapters);
bool chaptersNull() const; bool chaptersNull() const;
void setChaptersNull(); void setChaptersNull();
@ -1569,8 +1569,8 @@ protected:
QString m_forcedSortName; QString m_forcedSortName;
Video3DFormat m_video3DFormat; Video3DFormat m_video3DFormat;
QDateTime m_premiereDate; QDateTime m_premiereDate;
QList<QSharedPointer<ExternalUrl>> m_externalUrls; QList<ExternalUrl> m_externalUrls;
QList<QSharedPointer<MediaSourceInfo>> m_mediaSources; QList<MediaSourceInfo> m_mediaSources;
std::optional<float> m_criticRating = std::nullopt; std::optional<float> m_criticRating = std::nullopt;
QStringList m_productionLocations; QStringList m_productionLocations;
QString m_path; QString m_path;
@ -1594,15 +1594,15 @@ protected:
std::optional<qint32> m_indexNumber = std::nullopt; std::optional<qint32> m_indexNumber = std::nullopt;
std::optional<qint32> m_indexNumberEnd = std::nullopt; std::optional<qint32> m_indexNumberEnd = std::nullopt;
std::optional<qint32> m_parentIndexNumber = 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<QJsonObject> m_providerIds = std::nullopt;
std::optional<bool> m_isHD = std::nullopt; std::optional<bool> m_isHD = std::nullopt;
std::optional<bool> m_isFolder = std::nullopt; std::optional<bool> m_isFolder = std::nullopt;
QString m_parentId; QString m_parentId;
QString m_type; QString m_type;
QList<QSharedPointer<BaseItemPerson>> m_people; QList<BaseItemPerson> m_people;
QList<QSharedPointer<NameGuidPair>> m_studios; QList<NameGuidPair> m_studios;
QList<QSharedPointer<NameGuidPair>> m_genreItems; QList<NameGuidPair> m_genreItems;
QString m_parentLogoItemId; QString m_parentLogoItemId;
QString m_parentBackdropItemId; QString m_parentBackdropItemId;
QStringList m_parentBackdropImageTags; QStringList m_parentBackdropImageTags;
@ -1621,7 +1621,7 @@ protected:
QStringList m_tags; QStringList m_tags;
std::optional<double> m_primaryImageAspectRatio = std::nullopt; std::optional<double> m_primaryImageAspectRatio = std::nullopt;
QStringList m_artists; QStringList m_artists;
QList<QSharedPointer<NameGuidPair>> m_artistItems; QList<NameGuidPair> m_artistItems;
QString m_album; QString m_album;
QString m_collectionType; QString m_collectionType;
QString m_displayOrder; QString m_displayOrder;
@ -1629,9 +1629,9 @@ protected:
QString m_albumPrimaryImageTag; QString m_albumPrimaryImageTag;
QString m_seriesPrimaryImageTag; QString m_seriesPrimaryImageTag;
QString m_albumArtist; QString m_albumArtist;
QList<QSharedPointer<NameGuidPair>> m_albumArtists; QList<NameGuidPair> m_albumArtists;
QString m_seasonName; QString m_seasonName;
QList<QSharedPointer<MediaStream>> m_mediaStreams; QList<MediaStream> m_mediaStreams;
VideoType m_videoType; VideoType m_videoType;
std::optional<qint32> m_partCount = std::nullopt; std::optional<qint32> m_partCount = std::nullopt;
std::optional<qint32> m_mediaSourceCount = std::nullopt; std::optional<qint32> m_mediaSourceCount = std::nullopt;
@ -1648,7 +1648,7 @@ protected:
QString m_parentThumbImageTag; QString m_parentThumbImageTag;
QString m_parentPrimaryImageItemId; QString m_parentPrimaryImageItemId;
QString m_parentPrimaryImageTag; QString m_parentPrimaryImageTag;
QList<QSharedPointer<ChapterInfo>> m_chapters; QList<ChapterInfo> m_chapters;
LocationType m_locationType; LocationType m_locationType;
IsoType m_isoType; IsoType m_isoType;
QString m_mediaType; QString m_mediaType;

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
QList<QSharedPointer<BaseItemDto>> items() const; QList<BaseItemDto> items() const;
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
void setItems(QList<QSharedPointer<BaseItemDto>> newItems); void setItems(QList<BaseItemDto> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -90,7 +89,7 @@ public:
protected: protected:
QList<QSharedPointer<BaseItemDto>> m_items; QList<BaseItemDto> m_items;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
qint32 m_startIndex; qint32 m_startIndex;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -65,33 +64,33 @@ public:
/** /**
* @brief Gets or sets list of tuner channels. * @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. * @brief Gets or sets list of tuner channels.
*/ */
void setTunerChannels(QList<QSharedPointer<TunerChannelMapping>> newTunerChannels); void setTunerChannels(QList<TunerChannelMapping> newTunerChannels);
bool tunerChannelsNull() const; bool tunerChannelsNull() const;
void setTunerChannelsNull(); void setTunerChannelsNull();
/** /**
* @brief Gets or sets list of provider channels. * @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. * @brief Gets or sets list of provider channels.
*/ */
void setProviderChannels(QList<QSharedPointer<NameIdPair>> newProviderChannels); void setProviderChannels(QList<NameIdPair> newProviderChannels);
bool providerChannelsNull() const; bool providerChannelsNull() const;
void setProviderChannelsNull(); void setProviderChannelsNull();
/** /**
* @brief Gets or sets list of mappings. * @brief Gets or sets list of mappings.
*/ */
QList<QSharedPointer<NameValuePair>> mappings() const; QList<NameValuePair> mappings() const;
/** /**
* @brief Gets or sets list of mappings. * @brief Gets or sets list of mappings.
*/ */
void setMappings(QList<QSharedPointer<NameValuePair>> newMappings); void setMappings(QList<NameValuePair> newMappings);
bool mappingsNull() const; bool mappingsNull() const;
void setMappingsNull(); void setMappingsNull();
@ -108,9 +107,9 @@ public:
protected: protected:
QList<QSharedPointer<TunerChannelMapping>> m_tunerChannels; QList<TunerChannelMapping> m_tunerChannels;
QList<QSharedPointer<NameIdPair>> m_providerChannels; QList<NameIdPair> m_providerChannels;
QList<QSharedPointer<NameValuePair>> m_mappings; QList<NameValuePair> m_mappings;
QString m_providerName; QString m_providerName;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -67,16 +66,16 @@ public:
void setType(CodecType newType); 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; bool conditionsNull() const;
void setConditionsNull(); 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; bool applyConditionsNull() const;
void setApplyConditionsNull(); void setApplyConditionsNull();
@ -97,8 +96,8 @@ public:
protected: protected:
CodecType m_type; CodecType m_type;
QList<QSharedPointer<ProfileCondition>> m_conditions; QList<ProfileCondition> m_conditions;
QList<QSharedPointer<ProfileCondition>> m_applyConditions; QList<ProfileCondition> m_applyConditions;
QString m_codec; QString m_codec;
QString m_container; QString m_container;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -67,9 +66,9 @@ public:
void setType(DlnaProfileType newType); 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; bool conditionsNull() const;
void setConditionsNull(); void setConditionsNull();
@ -83,7 +82,7 @@ public:
protected: protected:
DlnaProfileType m_type; DlnaProfileType m_type;
QList<QSharedPointer<ProfileCondition>> m_conditions; QList<ProfileCondition> m_conditions;
QString m_container; QString m_container;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -151,11 +150,11 @@ public:
/** /**
* @brief Gets or sets the headers. * @brief Gets or sets the headers.
*/ */
QList<QSharedPointer<HttpHeaderInfo>> headers() const; QList<HttpHeaderInfo> headers() const;
/** /**
* @brief Gets or sets the headers. * @brief Gets or sets the headers.
*/ */
void setHeaders(QList<QSharedPointer<HttpHeaderInfo>> newHeaders); void setHeaders(QList<HttpHeaderInfo> newHeaders);
bool headersNull() const; bool headersNull() const;
void setHeadersNull(); void setHeadersNull();
@ -169,7 +168,7 @@ protected:
QString m_modelUrl; QString m_modelUrl;
QString m_manufacturer; QString m_manufacturer;
QString m_manufacturerUrl; QString m_manufacturerUrl;
QList<QSharedPointer<HttpHeaderInfo>> m_headers; QList<HttpHeaderInfo> m_headers;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
QList<QSharedPointer<DeviceInfo>> items() const; QList<DeviceInfo> items() const;
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
void setItems(QList<QSharedPointer<DeviceInfo>> newItems); void setItems(QList<DeviceInfo> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -90,7 +89,7 @@ public:
protected: protected:
QList<QSharedPointer<DeviceInfo>> m_items; QList<DeviceInfo> m_items;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
qint32 m_startIndex; qint32 m_startIndex;
}; };

View file

@ -396,77 +396,77 @@ public:
/** /**
* @brief Gets or sets the XmlRootAttributes. * @brief Gets or sets the XmlRootAttributes.
*/ */
QList<QSharedPointer<XmlAttribute>> xmlRootAttributes() const; QList<XmlAttribute> xmlRootAttributes() const;
/** /**
* @brief Gets or sets the XmlRootAttributes. * @brief Gets or sets the XmlRootAttributes.
*/ */
void setXmlRootAttributes(QList<QSharedPointer<XmlAttribute>> newXmlRootAttributes); void setXmlRootAttributes(QList<XmlAttribute> newXmlRootAttributes);
bool xmlRootAttributesNull() const; bool xmlRootAttributesNull() const;
void setXmlRootAttributesNull(); void setXmlRootAttributesNull();
/** /**
* @brief Gets or sets the direct play profiles. * @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. * @brief Gets or sets the direct play profiles.
*/ */
void setDirectPlayProfiles(QList<QSharedPointer<DirectPlayProfile>> newDirectPlayProfiles); void setDirectPlayProfiles(QList<DirectPlayProfile> newDirectPlayProfiles);
bool directPlayProfilesNull() const; bool directPlayProfilesNull() const;
void setDirectPlayProfilesNull(); void setDirectPlayProfilesNull();
/** /**
* @brief Gets or sets the transcoding profiles. * @brief Gets or sets the transcoding profiles.
*/ */
QList<QSharedPointer<TranscodingProfile>> transcodingProfiles() const; QList<TranscodingProfile> transcodingProfiles() const;
/** /**
* @brief Gets or sets the transcoding profiles. * @brief Gets or sets the transcoding profiles.
*/ */
void setTranscodingProfiles(QList<QSharedPointer<TranscodingProfile>> newTranscodingProfiles); void setTranscodingProfiles(QList<TranscodingProfile> newTranscodingProfiles);
bool transcodingProfilesNull() const; bool transcodingProfilesNull() const;
void setTranscodingProfilesNull(); void setTranscodingProfilesNull();
/** /**
* @brief Gets or sets the ContainerProfiles. * @brief Gets or sets the ContainerProfiles.
*/ */
QList<QSharedPointer<ContainerProfile>> containerProfiles() const; QList<ContainerProfile> containerProfiles() const;
/** /**
* @brief Gets or sets the ContainerProfiles. * @brief Gets or sets the ContainerProfiles.
*/ */
void setContainerProfiles(QList<QSharedPointer<ContainerProfile>> newContainerProfiles); void setContainerProfiles(QList<ContainerProfile> newContainerProfiles);
bool containerProfilesNull() const; bool containerProfilesNull() const;
void setContainerProfilesNull(); void setContainerProfilesNull();
/** /**
* @brief Gets or sets the CodecProfiles. * @brief Gets or sets the CodecProfiles.
*/ */
QList<QSharedPointer<CodecProfile>> codecProfiles() const; QList<CodecProfile> codecProfiles() const;
/** /**
* @brief Gets or sets the CodecProfiles. * @brief Gets or sets the CodecProfiles.
*/ */
void setCodecProfiles(QList<QSharedPointer<CodecProfile>> newCodecProfiles); void setCodecProfiles(QList<CodecProfile> newCodecProfiles);
bool codecProfilesNull() const; bool codecProfilesNull() const;
void setCodecProfilesNull(); void setCodecProfilesNull();
/** /**
* @brief Gets or sets the ResponseProfiles. * @brief Gets or sets the ResponseProfiles.
*/ */
QList<QSharedPointer<ResponseProfile>> responseProfiles() const; QList<ResponseProfile> responseProfiles() const;
/** /**
* @brief Gets or sets the ResponseProfiles. * @brief Gets or sets the ResponseProfiles.
*/ */
void setResponseProfiles(QList<QSharedPointer<ResponseProfile>> newResponseProfiles); void setResponseProfiles(QList<ResponseProfile> newResponseProfiles);
bool responseProfilesNull() const; bool responseProfilesNull() const;
void setResponseProfilesNull(); void setResponseProfilesNull();
/** /**
* @brief Gets or sets the SubtitleProfiles. * @brief Gets or sets the SubtitleProfiles.
*/ */
QList<QSharedPointer<SubtitleProfile>> subtitleProfiles() const; QList<SubtitleProfile> subtitleProfiles() const;
/** /**
* @brief Gets or sets the SubtitleProfiles. * @brief Gets or sets the SubtitleProfiles.
*/ */
void setSubtitleProfiles(QList<QSharedPointer<SubtitleProfile>> newSubtitleProfiles); void setSubtitleProfiles(QList<SubtitleProfile> newSubtitleProfiles);
bool subtitleProfilesNull() const; bool subtitleProfilesNull() const;
void setSubtitleProfilesNull(); void setSubtitleProfilesNull();
@ -504,13 +504,13 @@ protected:
bool m_requiresPlainFolders; bool m_requiresPlainFolders;
bool m_enableMSMediaReceiverRegistrar; bool m_enableMSMediaReceiverRegistrar;
bool m_ignoreTranscodeByteRangeRequests; bool m_ignoreTranscodeByteRangeRequests;
QList<QSharedPointer<XmlAttribute>> m_xmlRootAttributes; QList<XmlAttribute> m_xmlRootAttributes;
QList<QSharedPointer<DirectPlayProfile>> m_directPlayProfiles; QList<DirectPlayProfile> m_directPlayProfiles;
QList<QSharedPointer<TranscodingProfile>> m_transcodingProfiles; QList<TranscodingProfile> m_transcodingProfiles;
QList<QSharedPointer<ContainerProfile>> m_containerProfiles; QList<ContainerProfile> m_containerProfiles;
QList<QSharedPointer<CodecProfile>> m_codecProfiles; QList<CodecProfile> m_codecProfiles;
QList<QSharedPointer<ResponseProfile>> m_responseProfiles; QList<ResponseProfile> m_responseProfiles;
QList<QSharedPointer<SubtitleProfile>> m_subtitleProfiles; QList<SubtitleProfile> m_subtitleProfiles;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -82,9 +81,9 @@ public:
void setExtractChapterImagesDuringLibraryScan(bool newExtractChapterImagesDuringLibraryScan); 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; bool pathInfosNull() const;
void setPathInfosNull(); void setPathInfosNull();
@ -210,9 +209,9 @@ public:
void setSaveSubtitlesWithMedia(bool newSaveSubtitlesWithMedia); 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; bool typeOptionsNull() const;
void setTypeOptionsNull(); void setTypeOptionsNull();
@ -222,7 +221,7 @@ protected:
bool m_enableRealtimeMonitor; bool m_enableRealtimeMonitor;
bool m_enableChapterImageExtraction; bool m_enableChapterImageExtraction;
bool m_extractChapterImagesDuringLibraryScan; bool m_extractChapterImagesDuringLibraryScan;
QList<QSharedPointer<MediaPathInfo>> m_pathInfos; QList<MediaPathInfo> m_pathInfos;
bool m_saveLocalMetadata; bool m_saveLocalMetadata;
bool m_enableInternetProviders; bool m_enableInternetProviders;
bool m_enableAutomaticSeriesGrouping; bool m_enableAutomaticSeriesGrouping;
@ -242,7 +241,7 @@ protected:
QStringList m_subtitleDownloadLanguages; QStringList m_subtitleDownloadLanguages;
bool m_requirePerfectSubtitleMatch; bool m_requirePerfectSubtitleMatch;
bool m_saveSubtitlesWithMedia; bool m_saveSubtitlesWithMedia;
QList<QSharedPointer<TypeOptions>> m_typeOptions; QList<TypeOptions> m_typeOptions;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -63,53 +62,53 @@ public:
/** /**
* @brief Gets or sets the metadata savers. * @brief Gets or sets the metadata savers.
*/ */
QList<QSharedPointer<LibraryOptionInfoDto>> metadataSavers() const; QList<LibraryOptionInfoDto> metadataSavers() const;
/** /**
* @brief Gets or sets the metadata savers. * @brief Gets or sets the metadata savers.
*/ */
void setMetadataSavers(QList<QSharedPointer<LibraryOptionInfoDto>> newMetadataSavers); void setMetadataSavers(QList<LibraryOptionInfoDto> newMetadataSavers);
bool metadataSaversNull() const; bool metadataSaversNull() const;
void setMetadataSaversNull(); void setMetadataSaversNull();
/** /**
* @brief Gets or sets the metadata readers. * @brief Gets or sets the metadata readers.
*/ */
QList<QSharedPointer<LibraryOptionInfoDto>> metadataReaders() const; QList<LibraryOptionInfoDto> metadataReaders() const;
/** /**
* @brief Gets or sets the metadata readers. * @brief Gets or sets the metadata readers.
*/ */
void setMetadataReaders(QList<QSharedPointer<LibraryOptionInfoDto>> newMetadataReaders); void setMetadataReaders(QList<LibraryOptionInfoDto> newMetadataReaders);
bool metadataReadersNull() const; bool metadataReadersNull() const;
void setMetadataReadersNull(); void setMetadataReadersNull();
/** /**
* @brief Gets or sets the subtitle fetchers. * @brief Gets or sets the subtitle fetchers.
*/ */
QList<QSharedPointer<LibraryOptionInfoDto>> subtitleFetchers() const; QList<LibraryOptionInfoDto> subtitleFetchers() const;
/** /**
* @brief Gets or sets the subtitle fetchers. * @brief Gets or sets the subtitle fetchers.
*/ */
void setSubtitleFetchers(QList<QSharedPointer<LibraryOptionInfoDto>> newSubtitleFetchers); void setSubtitleFetchers(QList<LibraryOptionInfoDto> newSubtitleFetchers);
bool subtitleFetchersNull() const; bool subtitleFetchersNull() const;
void setSubtitleFetchersNull(); void setSubtitleFetchersNull();
/** /**
* @brief Gets or sets the type options. * @brief Gets or sets the type options.
*/ */
QList<QSharedPointer<LibraryTypeOptionsDto>> typeOptions() const; QList<LibraryTypeOptionsDto> typeOptions() const;
/** /**
* @brief Gets or sets the type options. * @brief Gets or sets the type options.
*/ */
void setTypeOptions(QList<QSharedPointer<LibraryTypeOptionsDto>> newTypeOptions); void setTypeOptions(QList<LibraryTypeOptionsDto> newTypeOptions);
bool typeOptionsNull() const; bool typeOptionsNull() const;
void setTypeOptionsNull(); void setTypeOptionsNull();
protected: protected:
QList<QSharedPointer<LibraryOptionInfoDto>> m_metadataSavers; QList<LibraryOptionInfoDto> m_metadataSavers;
QList<QSharedPointer<LibraryOptionInfoDto>> m_metadataReaders; QList<LibraryOptionInfoDto> m_metadataReaders;
QList<QSharedPointer<LibraryOptionInfoDto>> m_subtitleFetchers; QList<LibraryOptionInfoDto> m_subtitleFetchers;
QList<QSharedPointer<LibraryTypeOptionsDto>> m_typeOptions; QList<LibraryTypeOptionsDto> m_typeOptions;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -76,22 +75,22 @@ public:
/** /**
* @brief Gets or sets the metadata fetchers. * @brief Gets or sets the metadata fetchers.
*/ */
QList<QSharedPointer<LibraryOptionInfoDto>> metadataFetchers() const; QList<LibraryOptionInfoDto> metadataFetchers() const;
/** /**
* @brief Gets or sets the metadata fetchers. * @brief Gets or sets the metadata fetchers.
*/ */
void setMetadataFetchers(QList<QSharedPointer<LibraryOptionInfoDto>> newMetadataFetchers); void setMetadataFetchers(QList<LibraryOptionInfoDto> newMetadataFetchers);
bool metadataFetchersNull() const; bool metadataFetchersNull() const;
void setMetadataFetchersNull(); void setMetadataFetchersNull();
/** /**
* @brief Gets or sets the image fetchers. * @brief Gets or sets the image fetchers.
*/ */
QList<QSharedPointer<LibraryOptionInfoDto>> imageFetchers() const; QList<LibraryOptionInfoDto> imageFetchers() const;
/** /**
* @brief Gets or sets the image fetchers. * @brief Gets or sets the image fetchers.
*/ */
void setImageFetchers(QList<QSharedPointer<LibraryOptionInfoDto>> newImageFetchers); void setImageFetchers(QList<LibraryOptionInfoDto> newImageFetchers);
bool imageFetchersNull() const; bool imageFetchersNull() const;
void setImageFetchersNull(); void setImageFetchersNull();
@ -109,21 +108,21 @@ public:
/** /**
* @brief Gets or sets the default image options. * @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. * @brief Gets or sets the default image options.
*/ */
void setDefaultImageOptions(QList<QSharedPointer<ImageOption>> newDefaultImageOptions); void setDefaultImageOptions(QList<ImageOption> newDefaultImageOptions);
bool defaultImageOptionsNull() const; bool defaultImageOptionsNull() const;
void setDefaultImageOptionsNull(); void setDefaultImageOptionsNull();
protected: protected:
QString m_type; QString m_type;
QList<QSharedPointer<LibraryOptionInfoDto>> m_metadataFetchers; QList<LibraryOptionInfoDto> m_metadataFetchers;
QList<QSharedPointer<LibraryOptionInfoDto>> m_imageFetchers; QList<LibraryOptionInfoDto> m_imageFetchers;
QList<ImageType> m_supportedImageTypes; QList<ImageType> m_supportedImageTypes;
QList<QSharedPointer<ImageOption>> m_defaultImageOptions; QList<ImageOption> m_defaultImageOptions;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -157,9 +156,9 @@ public:
void setMovieCategoriesNull(); 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; bool channelMappingsNull() const;
void setChannelMappingsNull(); void setChannelMappingsNull();
@ -200,7 +199,7 @@ protected:
QStringList m_sportsCategories; QStringList m_sportsCategories;
QStringList m_kidsCategories; QStringList m_kidsCategories;
QStringList m_movieCategories; QStringList m_movieCategories;
QList<QSharedPointer<NameValuePair>> m_channelMappings; QList<NameValuePair> m_channelMappings;
QString m_moviePrefix; QString m_moviePrefix;
QString m_preferredLanguage; QString m_preferredLanguage;
QString m_userAgent; QString m_userAgent;

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the services. * @brief Gets or sets the services.
*/ */
QList<QSharedPointer<LiveTvServiceInfo>> services() const; QList<LiveTvServiceInfo> services() const;
/** /**
* @brief Gets or sets the services. * @brief Gets or sets the services.
*/ */
void setServices(QList<QSharedPointer<LiveTvServiceInfo>> newServices); void setServices(QList<LiveTvServiceInfo> newServices);
bool servicesNull() const; bool servicesNull() const;
void setServicesNull(); void setServicesNull();
@ -92,7 +91,7 @@ public:
protected: protected:
QList<QSharedPointer<LiveTvServiceInfo>> m_services; QList<LiveTvServiceInfo> m_services;
bool m_isEnabled; bool m_isEnabled;
QStringList m_enabledUsers; QStringList m_enabledUsers;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -244,16 +243,16 @@ public:
void setVideo3DFormat(Video3DFormat newVideo3DFormat); 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; bool mediaStreamsNull() const;
void setMediaStreamsNull(); 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; bool mediaAttachmentsNull() const;
void setMediaAttachmentsNull(); void setMediaAttachmentsNull();
@ -357,8 +356,8 @@ protected:
VideoType m_videoType; VideoType m_videoType;
IsoType m_isoType; IsoType m_isoType;
Video3DFormat m_video3DFormat; Video3DFormat m_video3DFormat;
QList<QSharedPointer<MediaStream>> m_mediaStreams; QList<MediaStream> m_mediaStreams;
QList<QSharedPointer<MediaAttachment>> m_mediaAttachments; QList<MediaAttachment> m_mediaAttachments;
QStringList m_formats; QStringList m_formats;
std::optional<qint32> m_bitrate = std::nullopt; std::optional<qint32> m_bitrate = std::nullopt;
TransportStreamTimestamp m_timestamp; TransportStreamTimestamp m_timestamp;

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -65,30 +64,30 @@ public:
// Properties // Properties
QList<QSharedPointer<ParentalRating>> parentalRatingOptions() const; QList<ParentalRating> parentalRatingOptions() const;
void setParentalRatingOptions(QList<QSharedPointer<ParentalRating>> newParentalRatingOptions); void setParentalRatingOptions(QList<ParentalRating> newParentalRatingOptions);
bool parentalRatingOptionsNull() const; bool parentalRatingOptionsNull() const;
void setParentalRatingOptionsNull(); 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; bool countriesNull() const;
void setCountriesNull(); 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; bool culturesNull() const;
void setCulturesNull(); 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; bool externalIdInfosNull() const;
void setExternalIdInfosNull(); void setExternalIdInfosNull();
@ -100,20 +99,20 @@ public:
void setContentTypeNull(); 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; bool contentTypeOptionsNull() const;
void setContentTypeOptionsNull(); void setContentTypeOptionsNull();
protected: protected:
QList<QSharedPointer<ParentalRating>> m_parentalRatingOptions; QList<ParentalRating> m_parentalRatingOptions;
QList<QSharedPointer<CountryInfo>> m_countries; QList<CountryInfo> m_countries;
QList<QSharedPointer<CultureDto>> m_cultures; QList<CultureDto> m_cultures;
QList<QSharedPointer<ExternalIdInfo>> m_externalIdInfos; QList<ExternalIdInfo> m_externalIdInfos;
QString m_contentType; QString m_contentType;
QList<QSharedPointer<NameValuePair>> m_contentTypeOptions; QList<NameValuePair> m_contentTypeOptions;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the current page of notifications. * @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. * @brief Gets or sets the current page of notifications.
*/ */
void setNotifications(QList<QSharedPointer<NotificationDto>> newNotifications); void setNotifications(QList<NotificationDto> newNotifications);
bool notificationsNull() const; bool notificationsNull() const;
void setNotificationsNull(); void setNotificationsNull();
@ -81,7 +80,7 @@ public:
protected: protected:
QList<QSharedPointer<NotificationDto>> m_notifications; QList<NotificationDto> m_notifications;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -131,11 +130,11 @@ This is used to identify the proper item for automatic updates.
/** /**
* @brief Gets or sets the versions. * @brief Gets or sets the versions.
*/ */
QList<QSharedPointer<VersionInfo>> versions() const; QList<VersionInfo> versions() const;
/** /**
* @brief Gets or sets the versions. * @brief Gets or sets the versions.
*/ */
void setVersions(QList<QSharedPointer<VersionInfo>> newVersions); void setVersions(QList<VersionInfo> newVersions);
bool versionsNull() const; bool versionsNull() const;
void setVersionsNull(); void setVersionsNull();
@ -158,7 +157,7 @@ protected:
QString m_owner; QString m_owner;
QString m_category; QString m_category;
QString m_guid; QString m_guid;
QList<QSharedPointer<VersionInfo>> m_versions; QList<VersionInfo> m_versions;
QString m_imageUrl; QString m_imageUrl;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -64,11 +63,11 @@ public:
/** /**
* @brief Gets or sets the media sources. * @brief Gets or sets the media sources.
*/ */
QList<QSharedPointer<MediaSourceInfo>> mediaSources() const; QList<MediaSourceInfo> mediaSources() const;
/** /**
* @brief Gets or sets the media sources. * @brief Gets or sets the media sources.
*/ */
void setMediaSources(QList<QSharedPointer<MediaSourceInfo>> newMediaSources); void setMediaSources(QList<MediaSourceInfo> newMediaSources);
bool mediaSourcesNull() const; bool mediaSourcesNull() const;
void setMediaSourcesNull(); void setMediaSourcesNull();
@ -90,7 +89,7 @@ public:
protected: protected:
QList<QSharedPointer<MediaSourceInfo>> m_mediaSources; QList<MediaSourceInfo> m_mediaSources;
QString m_playSessionId; QString m_playSessionId;
PlaybackErrorCode m_errorCode; PlaybackErrorCode m_errorCode;
}; };

View file

@ -224,9 +224,9 @@ public:
void setRepeatMode(RepeatMode newRepeatMode); 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; bool nowPlayingQueueNull() const;
void setNowPlayingQueueNull(); void setNowPlayingQueueNull();
@ -257,7 +257,7 @@ protected:
QString m_liveStreamId; QString m_liveStreamId;
QString m_playSessionId; QString m_playSessionId;
RepeatMode m_repeatMode; RepeatMode m_repeatMode;
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue; QList<QueueItem> m_nowPlayingQueue;
QString m_playlistItemId; QString m_playlistItemId;
}; };

View file

@ -224,9 +224,9 @@ public:
void setRepeatMode(RepeatMode newRepeatMode); 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; bool nowPlayingQueueNull() const;
void setNowPlayingQueueNull(); void setNowPlayingQueueNull();
@ -257,7 +257,7 @@ protected:
QString m_liveStreamId; QString m_liveStreamId;
QString m_playSessionId; QString m_playSessionId;
RepeatMode m_repeatMode; RepeatMode m_repeatMode;
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue; QList<QueueItem> m_nowPlayingQueue;
QString m_playlistItemId; QString m_playlistItemId;
}; };

View file

@ -154,9 +154,9 @@ public:
void setPlaylistItemIdNull(); 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; bool nowPlayingQueueNull() const;
void setNowPlayingQueueNull(); void setNowPlayingQueueNull();
@ -172,7 +172,7 @@ protected:
bool m_failed; bool m_failed;
QString m_nextMediaType; QString m_nextMediaType;
QString m_playlistItemId; QString m_playlistItemId;
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue; QList<QueueItem> m_nowPlayingQueue;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -60,9 +59,9 @@ public:
// Properties // Properties
QList<QSharedPointer<NameGuidPair>> genres() const; QList<NameGuidPair> genres() const;
void setGenres(QList<QSharedPointer<NameGuidPair>> newGenres); void setGenres(QList<NameGuidPair> newGenres);
bool genresNull() const; bool genresNull() const;
void setGenresNull(); void setGenresNull();
@ -75,7 +74,7 @@ public:
protected: protected:
QList<QSharedPointer<NameGuidPair>> m_genres; QList<NameGuidPair> m_genres;
QStringList m_tags; QStringList m_tags;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,9 +61,9 @@ public:
// Properties // Properties
QList<QSharedPointer<BaseItemDto>> items() const; QList<BaseItemDto> items() const;
void setItems(QList<QSharedPointer<BaseItemDto>> newItems); void setItems(QList<BaseItemDto> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -87,7 +86,7 @@ public:
protected: protected:
QList<QSharedPointer<BaseItemDto>> m_items; QList<BaseItemDto> m_items;
RecommendationType m_recommendationType; RecommendationType m_recommendationType;
QString m_baselineItemName; QString m_baselineItemName;
QString m_categoryId; QString m_categoryId;

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the images. * @brief Gets or sets the images.
*/ */
QList<QSharedPointer<RemoteImageInfo>> images() const; QList<RemoteImageInfo> images() const;
/** /**
* @brief Gets or sets the images. * @brief Gets or sets the images.
*/ */
void setImages(QList<QSharedPointer<RemoteImageInfo>> newImages); void setImages(QList<RemoteImageInfo> newImages);
bool imagesNull() const; bool imagesNull() const;
void setImagesNull(); void setImagesNull();
@ -92,7 +91,7 @@ public:
protected: protected:
QList<QSharedPointer<RemoteImageInfo>> m_images; QList<RemoteImageInfo> m_images;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
QStringList m_providers; QStringList m_providers;
}; };

View file

@ -148,9 +148,9 @@ public:
void setAlbumArtist(QSharedPointer<RemoteSearchResult> newAlbumArtist); 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; bool artistsNull() const;
void setArtistsNull(); void setArtistsNull();
@ -167,7 +167,7 @@ protected:
QString m_searchProviderName; QString m_searchProviderName;
QString m_overview; QString m_overview;
QSharedPointer<RemoteSearchResult> m_albumArtist = nullptr; QSharedPointer<RemoteSearchResult> m_albumArtist = nullptr;
QList<QSharedPointer<RemoteSearchResult>> m_artists; QList<RemoteSearchResult> m_artists;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -102,9 +101,9 @@ public:
void setMimeTypeNull(); 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; bool conditionsNull() const;
void setConditionsNull(); void setConditionsNull();
@ -116,7 +115,7 @@ protected:
DlnaProfileType m_type; DlnaProfileType m_type;
QString m_orgPn; QString m_orgPn;
QString m_mimeType; QString m_mimeType;
QList<QSharedPointer<ProfileCondition>> m_conditions; QList<ProfileCondition> m_conditions;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the search hints. * @brief Gets or sets the search hints.
*/ */
QList<QSharedPointer<SearchHint>> searchHints() const; QList<SearchHint> searchHints() const;
/** /**
* @brief Gets or sets the search hints. * @brief Gets or sets the search hints.
*/ */
void setSearchHints(QList<QSharedPointer<SearchHint>> newSearchHints); void setSearchHints(QList<SearchHint> newSearchHints);
bool searchHintsNull() const; bool searchHintsNull() const;
void setSearchHintsNull(); void setSearchHintsNull();
@ -81,7 +80,7 @@ public:
protected: protected:
QList<QSharedPointer<SearchHint>> m_searchHints; QList<SearchHint> m_searchHints;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
QList<QSharedPointer<SeriesTimerInfoDto>> items() const; QList<SeriesTimerInfoDto> items() const;
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
void setItems(QList<QSharedPointer<SeriesTimerInfoDto>> newItems); void setItems(QList<SeriesTimerInfoDto> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -90,7 +89,7 @@ public:
protected: protected:
QList<QSharedPointer<SeriesTimerInfoDto>> m_items; QList<SeriesTimerInfoDto> m_items;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
qint32 m_startIndex; qint32 m_startIndex;
}; };

View file

@ -560,9 +560,9 @@ Allows potential contributors without visual studio to modify production dashboa
void setImageSavingConvention(ImageSavingConvention newImageSavingConvention); 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; bool metadataOptionsNull() const;
void setMetadataOptionsNull(); void setMetadataOptionsNull();
@ -598,9 +598,9 @@ Allows potential contributors without visual studio to modify production dashboa
void setSaveMetadataHidden(bool newSaveMetadataHidden); 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; bool contentTypesNull() const;
void setContentTypesNull(); void setContentTypesNull();
@ -654,9 +654,9 @@ Allows potential contributors without visual studio to modify production dashboa
void setCodecsUsedNull(); 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; bool pluginRepositoriesNull() const;
void setPluginRepositoriesNull(); void setPluginRepositoriesNull();
@ -705,9 +705,9 @@ Allows potential contributors without visual studio to modify production dashboa
void setImageExtractionTimeoutMs(qint32 newImageExtractionTimeoutMs); 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; bool pathSubstitutionsNull() const;
void setPathSubstitutionsNull(); void setPathSubstitutionsNull();
@ -864,13 +864,13 @@ protected:
qint32 m_libraryMonitorDelay; qint32 m_libraryMonitorDelay;
bool m_enableDashboardResponseCaching; bool m_enableDashboardResponseCaching;
ImageSavingConvention m_imageSavingConvention; ImageSavingConvention m_imageSavingConvention;
QList<QSharedPointer<MetadataOptions>> m_metadataOptions; QList<MetadataOptions> m_metadataOptions;
bool m_skipDeserializationForBasicTypes; bool m_skipDeserializationForBasicTypes;
QString m_serverName; QString m_serverName;
QString m_baseUrl; QString m_baseUrl;
QString m_uICulture; QString m_uICulture;
bool m_saveMetadataHidden; bool m_saveMetadataHidden;
QList<QSharedPointer<NameValuePair>> m_contentTypes; QList<NameValuePair> m_contentTypes;
qint32 m_remoteClientBitrateLimit; qint32 m_remoteClientBitrateLimit;
bool m_enableFolderView; bool m_enableFolderView;
bool m_enableGroupingIntoCollections; bool m_enableGroupingIntoCollections;
@ -878,14 +878,14 @@ protected:
QStringList m_localNetworkSubnets; QStringList m_localNetworkSubnets;
QStringList m_localNetworkAddresses; QStringList m_localNetworkAddresses;
QStringList m_codecsUsed; QStringList m_codecsUsed;
QList<QSharedPointer<RepositoryInfo>> m_pluginRepositories; QList<RepositoryInfo> m_pluginRepositories;
bool m_enableExternalContentInSuggestions; bool m_enableExternalContentInSuggestions;
bool m_requireHttps; bool m_requireHttps;
bool m_enableNewOmdbSupport; bool m_enableNewOmdbSupport;
QStringList m_remoteIPFilter; QStringList m_remoteIPFilter;
bool m_isRemoteIPFilterBlacklist; bool m_isRemoteIPFilterBlacklist;
qint32 m_imageExtractionTimeoutMs; qint32 m_imageExtractionTimeoutMs;
QList<QSharedPointer<PathSubstitution>> m_pathSubstitutions; QList<PathSubstitution> m_pathSubstitutions;
bool m_enableSimpleArtistDetection; bool m_enableSimpleArtistDetection;
QStringList m_uninstalledPlugins; QStringList m_uninstalledPlugins;
bool m_enableSlowResponseWarning; bool m_enableSlowResponseWarning;

View file

@ -74,9 +74,9 @@ public:
void setPlayState(QSharedPointer<PlayerStateInfo> newPlayState); 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; bool additionalUsersNull() const;
void setAdditionalUsersNull(); void setAdditionalUsersNull();
@ -251,9 +251,9 @@ public:
void setSupportsRemoteControl(bool newSupportsRemoteControl); 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; bool nowPlayingQueueNull() const;
void setNowPlayingQueueNull(); void setNowPlayingQueueNull();
@ -297,7 +297,7 @@ public:
protected: protected:
QSharedPointer<PlayerStateInfo> m_playState = nullptr; QSharedPointer<PlayerStateInfo> m_playState = nullptr;
QList<QSharedPointer<SessionUserInfo>> m_additionalUsers; QList<SessionUserInfo> m_additionalUsers;
QSharedPointer<ClientCapabilities> m_capabilities = nullptr; QSharedPointer<ClientCapabilities> m_capabilities = nullptr;
QString m_remoteEndPoint; QString m_remoteEndPoint;
QStringList m_playableMediaTypes; QStringList m_playableMediaTypes;
@ -318,7 +318,7 @@ protected:
bool m_isActive; bool m_isActive;
bool m_supportsMediaControl; bool m_supportsMediaControl;
bool m_supportsRemoteControl; bool m_supportsRemoteControl;
QList<QSharedPointer<QueueItem>> m_nowPlayingQueue; QList<QueueItem> m_nowPlayingQueue;
bool m_hasCustomDeviceName; bool m_hasCustomDeviceName;
QString m_playlistItemId; QString m_playlistItemId;
QString m_serverId; QString m_serverId;

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -196,11 +195,11 @@ public:
/** /**
* @brief Gets or sets the completed installations. * @brief Gets or sets the completed installations.
*/ */
QList<QSharedPointer<InstallationInfo>> completedInstallations() const; QList<InstallationInfo> completedInstallations() const;
/** /**
* @brief Gets or sets the completed installations. * @brief Gets or sets the completed installations.
*/ */
void setCompletedInstallations(QList<QSharedPointer<InstallationInfo>> newCompletedInstallations); void setCompletedInstallations(QList<InstallationInfo> newCompletedInstallations);
bool completedInstallationsNull() const; bool completedInstallationsNull() const;
void setCompletedInstallationsNull(); void setCompletedInstallationsNull();
@ -329,7 +328,7 @@ protected:
bool m_isShuttingDown; bool m_isShuttingDown;
bool m_supportsLibraryMonitor; bool m_supportsLibraryMonitor;
qint32 m_webSocketPortNumber; qint32 m_webSocketPortNumber;
QList<QSharedPointer<InstallationInfo>> m_completedInstallations; QList<InstallationInfo> m_completedInstallations;
bool m_canSelfRestart; bool m_canSelfRestart;
bool m_canLaunchWebBrowser; bool m_canLaunchWebBrowser;
QString m_programDataPath; QString m_programDataPath;

View file

@ -108,11 +108,11 @@ public:
/** /**
* @brief Gets or sets the triggers. * @brief Gets or sets the triggers.
*/ */
QList<QSharedPointer<TaskTriggerInfo>> triggers() const; QList<TaskTriggerInfo> triggers() const;
/** /**
* @brief Gets or sets the triggers. * @brief Gets or sets the triggers.
*/ */
void setTriggers(QList<QSharedPointer<TaskTriggerInfo>> newTriggers); void setTriggers(QList<TaskTriggerInfo> newTriggers);
bool triggersNull() const; bool triggersNull() const;
void setTriggersNull(); void setTriggersNull();
@ -165,7 +165,7 @@ protected:
std::optional<double> m_currentProgressPercentage = std::nullopt; std::optional<double> m_currentProgressPercentage = std::nullopt;
QString m_jellyfinId; QString m_jellyfinId;
QSharedPointer<TaskResult> m_lastExecutionResult = nullptr; QSharedPointer<TaskResult> m_lastExecutionResult = nullptr;
QList<QSharedPointer<TaskTriggerInfo>> m_triggers; QList<TaskTriggerInfo> m_triggers;
QString m_description; QString m_description;
QString m_category; QString m_category;
bool m_isHidden; bool m_isHidden;

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -63,11 +62,11 @@ public:
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
QList<QSharedPointer<BaseItemDto>> items() const; QList<BaseItemDto> items() const;
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
void setItems(QList<QSharedPointer<BaseItemDto>> newItems); void setItems(QList<BaseItemDto> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -100,7 +99,7 @@ public:
protected: protected:
QList<QSharedPointer<BaseItemDto>> m_items; QList<BaseItemDto> m_items;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
qint32 m_startIndex; qint32 m_startIndex;
QString m_ownerId; QString m_ownerId;

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -62,11 +61,11 @@ public:
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
QList<QSharedPointer<TimerInfoDto>> items() const; QList<TimerInfoDto> items() const;
/** /**
* @brief Gets or sets the items. * @brief Gets or sets the items.
*/ */
void setItems(QList<QSharedPointer<TimerInfoDto>> newItems); void setItems(QList<TimerInfoDto> newItems);
bool itemsNull() const; bool itemsNull() const;
void setItemsNull(); void setItemsNull();
@ -90,7 +89,7 @@ public:
protected: protected:
QList<QSharedPointer<TimerInfoDto>> m_items; QList<TimerInfoDto> m_items;
qint32 m_totalRecordCount; qint32 m_totalRecordCount;
qint32 m_startIndex; qint32 m_startIndex;
}; };

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -96,9 +95,9 @@ public:
void setImageFetcherOrderNull(); 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; bool imageOptionsNull() const;
void setImageOptionsNull(); void setImageOptionsNull();
@ -109,7 +108,7 @@ protected:
QStringList m_metadataFetcherOrder; QStringList m_metadataFetcherOrder;
QStringList m_imageFetchers; QStringList m_imageFetchers;
QStringList m_imageFetcherOrder; QStringList m_imageFetcherOrder;
QList<QSharedPointer<ImageOption>> m_imageOptions; QList<ImageOption> m_imageOptions;
}; };
} // NS DTO } // NS DTO

View file

@ -33,7 +33,6 @@
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
#include <QSharedPointer>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <optional> #include <optional>
@ -113,9 +112,9 @@ public:
void setEnableUserPreferenceAccess(bool newEnableUserPreferenceAccess); 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; bool accessSchedulesNull() const;
void setAccessSchedulesNull(); void setAccessSchedulesNull();
@ -309,7 +308,7 @@ protected:
std::optional<qint32> m_maxParentalRating = std::nullopt; std::optional<qint32> m_maxParentalRating = std::nullopt;
QStringList m_blockedTags; QStringList m_blockedTags;
bool m_enableUserPreferenceAccess; bool m_enableUserPreferenceAccess;
QList<QSharedPointer<AccessSchedule>> m_accessSchedules; QList<AccessSchedule> m_accessSchedules;
QList<UnratedItem> m_blockUnratedItems; QList<UnratedItem> m_blockUnratedItems;
bool m_enableRemoteControlOfOtherUsers; bool m_enableRemoteControlOfOtherUsers;
bool m_enableSharedDeviceControl; 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 "apimodel.h"
#include "serverdiscoverymodel.h" #include "serverdiscoverymodel.h"
#include "viewmodel/item.h" #include "viewmodel/item.h"
#include "viewmodel/itemmodel.h"
#include "viewmodel/loader.h" #include "viewmodel/loader.h"
#include "viewmodel/playbackmanager.h" #include "viewmodel/playbackmanager.h"

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Adds a listings provider. * @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: public:
explicit AddListingProvider(ApiClient *apiClient = nullptr); explicit AddListingProviderLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const AddListingProviderParams& parameters) const override; QString path(const AddListingProviderParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Adds a tuner host. * @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: public:
explicit AddTunerHost(ApiClient *apiClient = nullptr); explicit AddTunerHostLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const AddTunerHostParams& parameters) const override; QString path(const AddTunerHostParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Authenticates a user. * @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: public:
explicit AuthenticateUser(ApiClient *apiClient = nullptr); explicit AuthenticateUserLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const AuthenticateUserParams& parameters) const override; QString path(const AuthenticateUserParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Authenticates a user by name. * @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: public:
explicit AuthenticateUserByName(ApiClient *apiClient = nullptr); explicit AuthenticateUserByNameLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const AuthenticateUserByNameParams& parameters) const override; QString path(const AuthenticateUserByNameParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Authenticates a user with quick connect. * @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: public:
explicit AuthenticateWithQuickConnect(ApiClient *apiClient = nullptr); explicit AuthenticateWithQuickConnectLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const AuthenticateWithQuickConnectParams& parameters) const override; QString path(const AuthenticateWithQuickConnectParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Attempts to retrieve authentication information. * @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: public:
explicit Connect(ApiClient *apiClient = nullptr); explicit ConnectLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const ConnectParams& parameters) const override; QString path(const ConnectParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Creates a new collection. * @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: public:
explicit CreateCollection(ApiClient *apiClient = nullptr); explicit CreateCollectionLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const CreateCollectionParams& parameters) const override; QString path(const CreateCollectionParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Creates a new playlist. * @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: public:
explicit CreatePlaylist(ApiClient *apiClient = nullptr); explicit CreatePlaylistLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const CreatePlaylistParams& parameters) const override; QString path(const CreatePlaylistParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Creates a user. * @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: public:
explicit CreateUserByName(ApiClient *apiClient = nullptr); explicit CreateUserByNameLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const CreateUserByNameParams& parameters) const override; 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. * @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: public:
explicit DeleteUserItemRating(ApiClient *apiClient = nullptr); explicit DeleteUserItemRatingLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const DeleteUserItemRatingParams& parameters) const override; 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. * @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: public:
explicit ForgotPassword(ApiClient *apiClient = nullptr); explicit ForgotPasswordLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const ForgotPasswordParams& parameters) const override; QString path(const ForgotPasswordParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Redeems a forgot password pin. * @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: public:
explicit ForgotPasswordPin(ApiClient *apiClient = nullptr); explicit ForgotPasswordPinLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const ForgotPasswordPinParams& parameters) const override; QString path(const ForgotPasswordPinParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets the search hint result. * @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: public:
explicit Get(ApiClient *apiClient = nullptr); explicit GetLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetParams& parameters) const override; QString path(const GetParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets additional parts for a video. * @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: public:
explicit GetAdditionalPart(ApiClient *apiClient = nullptr); explicit GetAdditionalPartLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetAdditionalPartParams& parameters) const override; 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. * @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: public:
explicit GetAlbumArtists(ApiClient *apiClient = nullptr); explicit GetAlbumArtistsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetAlbumArtistsParams& parameters) const override; QString path(const GetAlbumArtistsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets an artist by name. * @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: public:
explicit GetArtistByName(ApiClient *apiClient = nullptr); explicit GetArtistByNameLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetArtistByNameParams& parameters) const override; 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. * @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: public:
explicit GetArtists(ApiClient *apiClient = nullptr); explicit GetArtistsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetArtistsParams& parameters) const override; QString path(const GetArtistsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets branding configuration. * @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: public:
explicit GetBrandingOptions(ApiClient *apiClient = nullptr); explicit GetBrandingOptionsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetBrandingOptionsParams& parameters) const override; QString path(const GetBrandingOptionsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets a live tv channel. * @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: public:
explicit GetChannel(ApiClient *apiClient = nullptr); explicit GetChannelLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetChannelParams& parameters) const override; QString path(const GetChannelParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get channel features. * @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: public:
explicit GetChannelFeatures(ApiClient *apiClient = nullptr); explicit GetChannelFeaturesLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetChannelFeaturesParams& parameters) const override; QString path(const GetChannelFeaturesParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get channel items. * @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: public:
explicit GetChannelItems(ApiClient *apiClient = nullptr); explicit GetChannelItemsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetChannelItemsParams& parameters) const override; QString path(const GetChannelItemsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get channel mapping options. * @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: public:
explicit GetChannelMappingOptions(ApiClient *apiClient = nullptr); explicit GetChannelMappingOptionsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetChannelMappingOptionsParams& parameters) const override; QString path(const GetChannelMappingOptionsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets available channels. * @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: public:
explicit GetChannels(ApiClient *apiClient = nullptr); explicit GetChannelsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetChannelsParams& parameters) const override; QString path(const GetChannelsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets application configuration. * @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: public:
explicit GetConfiguration(ApiClient *apiClient = nullptr); explicit GetConfigurationLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetConfigurationParams& parameters) const override; QString path(const GetConfigurationParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets critic review for an item. * @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: public:
explicit GetCriticReviews(ApiClient *apiClient = nullptr); explicit GetCriticReviewsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetCriticReviewsParams& parameters) const override; QString path(const GetCriticReviewsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets the user based on auth token. * @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: public:
explicit GetCurrentUser(ApiClient *apiClient = nullptr); explicit GetCurrentUserLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetCurrentUserParams& parameters) const override; QString path(const GetCurrentUserParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get Default directory browser. * @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: public:
explicit GetDefaultDirectoryBrowser(ApiClient *apiClient = nullptr); explicit GetDefaultDirectoryBrowserLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDefaultDirectoryBrowserParams& parameters) const override; QString path(const GetDefaultDirectoryBrowserParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets default listings provider info. * @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: public:
explicit GetDefaultListingProvider(ApiClient *apiClient = nullptr); explicit GetDefaultListingProviderLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDefaultListingProviderParams& parameters) const override; QString path(const GetDefaultListingProviderParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets a default MetadataOptions object. * @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: public:
explicit GetDefaultMetadataOptions(ApiClient *apiClient = nullptr); explicit GetDefaultMetadataOptionsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDefaultMetadataOptionsParams& parameters) const override; QString path(const GetDefaultMetadataOptionsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets the default profile. * @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: public:
explicit GetDefaultProfile(ApiClient *apiClient = nullptr); explicit GetDefaultProfileLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDefaultProfileParams& parameters) const override; QString path(const GetDefaultProfileParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets the default values for a new timer. * @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: public:
explicit GetDefaultTimer(ApiClient *apiClient = nullptr); explicit GetDefaultTimerLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDefaultTimerParams& parameters) const override; QString path(const GetDefaultTimerParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get info for a device. * @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: public:
explicit GetDeviceInfo(ApiClient *apiClient = nullptr); explicit GetDeviceInfoLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDeviceInfoParams& parameters) const override; QString path(const GetDeviceInfoParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get options for a device. * @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: public:
explicit GetDeviceOptions(ApiClient *apiClient = nullptr); explicit GetDeviceOptionsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDeviceOptionsParams& parameters) const override; QString path(const GetDeviceOptionsParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get Devices. * @brief Get Devices.
*/ */
class GetDevices : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceInfoQueryResult, GetDevicesParams> { class GetDevicesLoader : public Jellyfin::Support::HttpLoader<Jellyfin::DTO::DeviceInfoQueryResult, GetDevicesParams> {
public: public:
explicit GetDevices(ApiClient *apiClient = nullptr); explicit GetDevicesLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDevicesParams& parameters) const override; QString path(const GetDevicesParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get Display Preferences. * @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: public:
explicit GetDisplayPreferences(ApiClient *apiClient = nullptr); explicit GetDisplayPreferencesLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetDisplayPreferencesParams& parameters) const override; QString path(const GetDisplayPreferencesParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets information about the request endpoint. * @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: public:
explicit GetEndpointInfo(ApiClient *apiClient = nullptr); explicit GetEndpointInfoLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetEndpointInfoParams& parameters) const override; QString path(const GetEndpointInfoParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets episodes for a tv season. * @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: public:
explicit GetEpisodes(ApiClient *apiClient = nullptr); explicit GetEpisodesLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetEpisodesParams& parameters) const override; QString path(const GetEpisodesParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets the first user. * @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: public:
explicit GetFirstUser(ApiClient *apiClient = nullptr); explicit GetFirstUserLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetFirstUserParams& parameters) const override; QString path(const GetFirstUserParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets the first user. * @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: public:
explicit GetFirstUser_2(ApiClient *apiClient = nullptr); explicit GetFirstUser_2Loader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetFirstUser_2Params& parameters) const override; QString path(const GetFirstUser_2Params& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets a genre, by name. * @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: public:
explicit GetGenre(ApiClient *apiClient = nullptr); explicit GetGenreLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetGenreParams& parameters) const override; 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. * @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: public:
explicit GetGenres(ApiClient *apiClient = nullptr); explicit GetGenresLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetGenresParams& parameters) const override; QString path(const GetGenresParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get guid info. * @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: public:
explicit GetGuideInfo(ApiClient *apiClient = nullptr); explicit GetGuideInfoLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetGuideInfoParams& parameters) const override; 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. * @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: public:
explicit GetInstantMixFromAlbum(ApiClient *apiClient = nullptr); explicit GetInstantMixFromAlbumLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetInstantMixFromAlbumParams& parameters) const override; 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. * @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: public:
explicit GetInstantMixFromArtists(ApiClient *apiClient = nullptr); explicit GetInstantMixFromArtistsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetInstantMixFromArtistsParams& parameters) const override; 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. * @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: public:
explicit GetInstantMixFromItem(ApiClient *apiClient = nullptr); explicit GetInstantMixFromItemLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetInstantMixFromItemParams& parameters) const override; 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. * @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: public:
explicit GetInstantMixFromMusicGenre(ApiClient *apiClient = nullptr); explicit GetInstantMixFromMusicGenreLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetInstantMixFromMusicGenreParams& parameters) const override; 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. * @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: public:
explicit GetInstantMixFromMusicGenres(ApiClient *apiClient = nullptr); explicit GetInstantMixFromMusicGenresLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetInstantMixFromMusicGenresParams& parameters) const override; 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. * @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: public:
explicit GetInstantMixFromPlaylist(ApiClient *apiClient = nullptr); explicit GetInstantMixFromPlaylistLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetInstantMixFromPlaylistParams& parameters) const override; 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. * @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: public:
explicit GetInstantMixFromSong(ApiClient *apiClient = nullptr); explicit GetInstantMixFromSongLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetInstantMixFromSongParams& parameters) const override; 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. * @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: public:
explicit GetIntros(ApiClient *apiClient = nullptr); explicit GetIntrosLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetIntrosParams& parameters) const override; QString path(const GetIntrosParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Gets an item from a user's library. * @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: public:
explicit GetItem(ApiClient *apiClient = nullptr); explicit GetItemLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetItemParams& parameters) const override; QString path(const GetItemParams& parameters) const override;

View file

@ -45,9 +45,9 @@ namespace HTTP {
/** /**
* @brief Get item counts. * @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: public:
explicit GetItemCounts(ApiClient *apiClient = nullptr); explicit GetItemCountsLoader(ApiClient *apiClient = nullptr);
protected: protected:
QString path(const GetItemCountsParams& parameters) const override; QString path(const GetItemCountsParams& parameters) const override;

Some files were not shown because too many files have changed in this diff Show more