WIP: autogenerate models based on OpenAPI

This commit is contained in:
Chris Josten 2021-02-21 05:02:05 +01:00
parent 4ed6a8a42d
commit 40d8793bd8
553 changed files with 50785 additions and 1500 deletions

View File

@ -5,13 +5,7 @@ include(GNUInstallDirs)
include(GeneratedSources.cmake)
set(jellyfin-qt_SOURCES
src/DTO/dto.cpp
src/DTO/item.cpp
src/DTO/namedguidpair.cpp
src/DTO/mediastream.cpp
src/DTO/types.cpp
src/DTO/user.cpp
src/DTO/userdata.cpp
# src/DTO/dto.cpp
src/apiclient.cpp
src/apimodel.cpp
src/credentialmanager.cpp
@ -19,19 +13,14 @@ set(jellyfin-qt_SOURCES
src/jellyfin.cpp
src/jsonhelper.cpp
src/playbackmanager.cpp
src/remotedata.cpp
src/serverdiscoverymodel.cpp
src/websocket.cpp)
list(APPEND jellyfin-qt_SOURCES openapi_HEADERS)
list(APPEND jellyfin-qt_SOURCES ${openapi_SOURCES})
set(jellyfin-qt_HEADERS
include/JellyfinQt/DTO/dto.h
include/JellyfinQt/DTO/item.h
include/JellyfinQt/DTO/mediastream.h
include/JellyfinQt/DTO/namedguidpair.h
include/JellyfinQt/DTO/types.h
include/JellyfinQt/DTO/userdata.h
include/JellyfinQt/DTO/user.h
# include/JellyfinQt/DTO/dto.h
include/JellyfinQt/apiclient.h
include/JellyfinQt/apimodel.h
include/JellyfinQt/credentialmanager.h
@ -39,18 +28,22 @@ set(jellyfin-qt_HEADERS
include/JellyfinQt/jellyfin.h
include/JellyfinQt/jsonhelper.h
include/JellyfinQt/playbackmanager.h
include/JellyfinQt/remotedata.h
include/JellyfinQt/serverdiscoverymodel.h
include/JellyfinQt/websocket.h)
list(APPEND jellyfin-qt_SOURCES openapi_SOURCES)
list(APPEND jellyfin-qt_SOURCES ${openapi_HEADERS})
add_definitions(-DSAILFIN_VERSION=\"${SAILFIN_VERSION}\")
if (PLATFORM_SAILFISHOS)
add_definitions(-DPLATFORM_SAILFISHOS=1)
endif()
add_library(jellyfin-qt ${jellyfin-qt_SOURCES} ${jellyfin-qt_HEADERS})
if(${CMAKE_VERSION} VERSION_GREATER "3.16.0")
target_precompile_headers(jellyfin-qt PRIVATE ${jellyfin-qt_HEADERS})
endif()
target_include_directories(jellyfin-qt
PUBLIC "include"
PUBLIC "include" "generated/include"
)
target_link_libraries(jellyfin-qt PUBLIC Qt5::Core Qt5::Multimedia Qt5::Network Qt5::Qml Qt5::WebSockets)
set_target_properties(jellyfin-qt PROPERTIES CXX_VISIBILITY_PRESET default)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,100 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ACCESSSCHEDULE_H
#define JELLYFIN_DTO_ACCESSSCHEDULE_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/dynamicdayofweek.h"
namespace Jellyfin {
namespace DTO {
class AccessSchedule : public QObject {
Q_OBJECT
public:
explicit AccessSchedule(QObject *parent = nullptr);
static AccessSchedule *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the id of this instance.
*/
Q_PROPERTY(qint32 jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets the id of the associated user.
*/
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
Q_PROPERTY(DynamicDayOfWeek dayOfWeek READ dayOfWeek WRITE setDayOfWeek NOTIFY dayOfWeekChanged)
/**
* @brief Gets or sets the start hour.
*/
Q_PROPERTY(double startHour READ startHour WRITE setStartHour NOTIFY startHourChanged)
/**
* @brief Gets or sets the end hour.
*/
Q_PROPERTY(double endHour READ endHour WRITE setEndHour NOTIFY endHourChanged)
qint32 jellyfinId() const;
void setJellyfinId(qint32 newJellyfinId);
QString userId() const;
void setUserId(QString newUserId);
DynamicDayOfWeek dayOfWeek() const;
void setDayOfWeek(DynamicDayOfWeek newDayOfWeek);
double startHour() const;
void setStartHour(double newStartHour);
double endHour() const;
void setEndHour(double newEndHour);
signals:
void jellyfinIdChanged(qint32 newJellyfinId);
void userIdChanged(QString newUserId);
void dayOfWeekChanged(DynamicDayOfWeek newDayOfWeek);
void startHourChanged(double newStartHour);
void endHourChanged(double newEndHour);
protected:
qint32 m_jellyfinId;
QString m_userId;
DynamicDayOfWeek m_dayOfWeek;
double m_startHour;
double m_endHour;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ACCESSSCHEDULE_H

View File

@ -0,0 +1,146 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ACTIVITYLOGENTRY_H
#define JELLYFIN_DTO_ACTIVITYLOGENTRY_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/loglevel.h"
namespace Jellyfin {
namespace DTO {
class ActivityLogEntry : public QObject {
Q_OBJECT
public:
explicit ActivityLogEntry(QObject *parent = nullptr);
static ActivityLogEntry *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the identifier.
*/
Q_PROPERTY(qint64 jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the overview.
*/
Q_PROPERTY(QString overview READ overview WRITE setOverview NOTIFY overviewChanged)
/**
* @brief Gets or sets the short overview.
*/
Q_PROPERTY(QString shortOverview READ shortOverview WRITE setShortOverview NOTIFY shortOverviewChanged)
/**
* @brief Gets or sets the type.
*/
Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged)
/**
* @brief Gets or sets the item identifier.
*/
Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged)
/**
* @brief Gets or sets the date.
*/
Q_PROPERTY(QDateTime date READ date WRITE setDate NOTIFY dateChanged)
/**
* @brief Gets or sets the user identifier.
*/
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
/**
* @brief Gets or sets the user primary image tag.
*/
Q_PROPERTY(QString userPrimaryImageTag READ userPrimaryImageTag WRITE setUserPrimaryImageTag NOTIFY userPrimaryImageTagChanged)
Q_PROPERTY(LogLevel severity READ severity WRITE setSeverity NOTIFY severityChanged)
qint64 jellyfinId() const;
void setJellyfinId(qint64 newJellyfinId);
QString name() const;
void setName(QString newName);
QString overview() const;
void setOverview(QString newOverview);
QString shortOverview() const;
void setShortOverview(QString newShortOverview);
QString type() const;
void setType(QString newType);
QString itemId() const;
void setItemId(QString newItemId);
QDateTime date() const;
void setDate(QDateTime newDate);
QString userId() const;
void setUserId(QString newUserId);
QString userPrimaryImageTag() const;
void setUserPrimaryImageTag(QString newUserPrimaryImageTag);
LogLevel severity() const;
void setSeverity(LogLevel newSeverity);
signals:
void jellyfinIdChanged(qint64 newJellyfinId);
void nameChanged(QString newName);
void overviewChanged(QString newOverview);
void shortOverviewChanged(QString newShortOverview);
void typeChanged(QString newType);
void itemIdChanged(QString newItemId);
void dateChanged(QDateTime newDate);
void userIdChanged(QString newUserId);
void userPrimaryImageTagChanged(QString newUserPrimaryImageTag);
void severityChanged(LogLevel newSeverity);
protected:
qint64 m_jellyfinId;
QString m_name;
QString m_overview;
QString m_shortOverview;
QString m_type;
QString m_itemId;
QDateTime m_date;
QString m_userId;
QString m_userPrimaryImageTag;
LogLevel m_severity;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ACTIVITYLOGENTRY_H

View File

@ -0,0 +1,86 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ACTIVITYLOGENTRYQUERYRESULT_H
#define JELLYFIN_DTO_ACTIVITYLOGENTRYQUERYRESULT_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class ActivityLogEntry;
class ActivityLogEntryQueryResult : public QObject {
Q_OBJECT
public:
explicit ActivityLogEntryQueryResult(QObject *parent = nullptr);
static ActivityLogEntryQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the items.
*/
Q_PROPERTY(QList<ActivityLogEntry *> items READ items WRITE setItems NOTIFY itemsChanged)
/**
* @brief The total number of records available.
*/
Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged)
/**
* @brief The index of the first record in Items.
*/
Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged)
QList<ActivityLogEntry *> items() const;
void setItems(QList<ActivityLogEntry *> newItems);
qint32 totalRecordCount() const;
void setTotalRecordCount(qint32 newTotalRecordCount);
qint32 startIndex() const;
void setStartIndex(qint32 newStartIndex);
signals:
void itemsChanged(QList<ActivityLogEntry *> newItems);
void totalRecordCountChanged(qint32 newTotalRecordCount);
void startIndexChanged(qint32 newStartIndex);
protected:
QList<ActivityLogEntry *> m_items;
qint32 m_totalRecordCount;
qint32 m_startIndex;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ACTIVITYLOGENTRYQUERYRESULT_H

View File

@ -0,0 +1,63 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H
#define JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H
#include <QJsonObject>
#include <QObject>
namespace Jellyfin {
namespace DTO {
class LibraryOptions;
class AddVirtualFolderDto : public QObject {
Q_OBJECT
public:
explicit AddVirtualFolderDto(QObject *parent = nullptr);
static AddVirtualFolderDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(LibraryOptions * libraryOptions READ libraryOptions WRITE setLibraryOptions NOTIFY libraryOptionsChanged)
LibraryOptions * libraryOptions() const;
void setLibraryOptions(LibraryOptions * newLibraryOptions);
signals:
void libraryOptionsChanged(LibraryOptions * newLibraryOptions);
protected:
LibraryOptions * m_libraryOptions = nullptr;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H

View File

@ -0,0 +1,163 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ALBUMINFO_H
#define JELLYFIN_DTO_ALBUMINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class SongInfo;
class AlbumInfo : public QObject {
Q_OBJECT
public:
explicit AlbumInfo(QObject *parent = nullptr);
static AlbumInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the path.
*/
Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
/**
* @brief Gets or sets the metadata language.
*/
Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged)
/**
* @brief Gets or sets the metadata country code.
*/
Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged)
/**
* @brief Gets or sets the provider ids.
*/
Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged)
/**
* @brief Gets or sets the year.
*/
Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged)
Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged)
Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged)
Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged)
Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged)
/**
* @brief Gets or sets the album artist.
*/
Q_PROPERTY(QStringList albumArtists READ albumArtists WRITE setAlbumArtists NOTIFY albumArtistsChanged)
/**
* @brief Gets or sets the artist provider ids.
*/
Q_PROPERTY(QJsonObject artistProviderIds READ artistProviderIds WRITE setArtistProviderIds NOTIFY artistProviderIdsChanged)
Q_PROPERTY(QList<SongInfo *> songInfos READ songInfos WRITE setSongInfos NOTIFY songInfosChanged)
QString name() const;
void setName(QString newName);
QString path() const;
void setPath(QString newPath);
QString metadataLanguage() const;
void setMetadataLanguage(QString newMetadataLanguage);
QString metadataCountryCode() const;
void setMetadataCountryCode(QString newMetadataCountryCode);
QJsonObject providerIds() const;
void setProviderIds(QJsonObject newProviderIds);
qint32 year() const;
void setYear(qint32 newYear);
qint32 indexNumber() const;
void setIndexNumber(qint32 newIndexNumber);
qint32 parentIndexNumber() const;
void setParentIndexNumber(qint32 newParentIndexNumber);
QDateTime premiereDate() const;
void setPremiereDate(QDateTime newPremiereDate);
bool isAutomated() const;
void setIsAutomated(bool newIsAutomated);
QStringList albumArtists() const;
void setAlbumArtists(QStringList newAlbumArtists);
QJsonObject artistProviderIds() const;
void setArtistProviderIds(QJsonObject newArtistProviderIds);
QList<SongInfo *> songInfos() const;
void setSongInfos(QList<SongInfo *> newSongInfos);
signals:
void nameChanged(QString newName);
void pathChanged(QString newPath);
void metadataLanguageChanged(QString newMetadataLanguage);
void metadataCountryCodeChanged(QString newMetadataCountryCode);
void providerIdsChanged(QJsonObject newProviderIds);
void yearChanged(qint32 newYear);
void indexNumberChanged(qint32 newIndexNumber);
void parentIndexNumberChanged(qint32 newParentIndexNumber);
void premiereDateChanged(QDateTime newPremiereDate);
void isAutomatedChanged(bool newIsAutomated);
void albumArtistsChanged(QStringList newAlbumArtists);
void artistProviderIdsChanged(QJsonObject newArtistProviderIds);
void songInfosChanged(QList<SongInfo *> newSongInfos);
protected:
QString m_name;
QString m_path;
QString m_metadataLanguage;
QString m_metadataCountryCode;
QJsonObject m_providerIds;
qint32 m_year;
qint32 m_indexNumber;
qint32 m_parentIndexNumber;
QDateTime m_premiereDate;
bool m_isAutomated;
QStringList m_albumArtists;
QJsonObject m_artistProviderIds;
QList<SongInfo *> m_songInfos;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ALBUMINFO_H

View File

@ -0,0 +1,88 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H
#define JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class AlbumInfo;
class AlbumInfoRemoteSearchQuery : public QObject {
Q_OBJECT
public:
explicit AlbumInfoRemoteSearchQuery(QObject *parent = nullptr);
static AlbumInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(AlbumInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged)
Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged)
/**
* @brief Will only search within the given provider when set.
*/
Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged)
/**
* @brief Gets or sets a value indicating whether disabled providers should be included.
*/
Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged)
AlbumInfo * searchInfo() const;
void setSearchInfo(AlbumInfo * newSearchInfo);
QString itemId() const;
void setItemId(QString newItemId);
QString searchProviderName() const;
void setSearchProviderName(QString newSearchProviderName);
bool includeDisabledProviders() const;
void setIncludeDisabledProviders(bool newIncludeDisabledProviders);
signals:
void searchInfoChanged(AlbumInfo * newSearchInfo);
void itemIdChanged(QString newItemId);
void searchProviderNameChanged(QString newSearchProviderName);
void includeDisabledProvidersChanged(bool newIncludeDisabledProviders);
protected:
AlbumInfo * m_searchInfo = nullptr;
QString m_itemId;
QString m_searchProviderName;
bool m_includeDisabledProviders;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H

View File

@ -0,0 +1,77 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H
#define JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H
#include <QJsonObject>
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ThemeMediaResult;
class ThemeMediaResult;
class ThemeMediaResult;
class AllThemeMediaResult : public QObject {
Q_OBJECT
public:
explicit AllThemeMediaResult(QObject *parent = nullptr);
static AllThemeMediaResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(ThemeMediaResult * themeVideosResult READ themeVideosResult WRITE setThemeVideosResult NOTIFY themeVideosResultChanged)
Q_PROPERTY(ThemeMediaResult * themeSongsResult READ themeSongsResult WRITE setThemeSongsResult NOTIFY themeSongsResultChanged)
Q_PROPERTY(ThemeMediaResult * soundtrackSongsResult READ soundtrackSongsResult WRITE setSoundtrackSongsResult NOTIFY soundtrackSongsResultChanged)
ThemeMediaResult * themeVideosResult() const;
void setThemeVideosResult(ThemeMediaResult * newThemeVideosResult);
ThemeMediaResult * themeSongsResult() const;
void setThemeSongsResult(ThemeMediaResult * newThemeSongsResult);
ThemeMediaResult * soundtrackSongsResult() const;
void setSoundtrackSongsResult(ThemeMediaResult * newSoundtrackSongsResult);
signals:
void themeVideosResultChanged(ThemeMediaResult * newThemeVideosResult);
void themeSongsResultChanged(ThemeMediaResult * newThemeSongsResult);
void soundtrackSongsResultChanged(ThemeMediaResult * newSoundtrackSongsResult);
protected:
ThemeMediaResult * m_themeVideosResult = nullptr;
ThemeMediaResult * m_themeSongsResult = nullptr;
ThemeMediaResult * m_soundtrackSongsResult = nullptr;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H

View File

@ -0,0 +1,57 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ARCHITECTURE_H
#define JELLYFIN_DTO_ARCHITECTURE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ArchitectureClass {
Q_GADGET
public:
enum Value {
X86,
X64,
Arm,
Arm64,
Wasm,
};
Q_ENUM(Value)
private:
explicit ArchitectureClass();
};
typedef ArchitectureClass::Value Architecture;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ARCHITECTURE_H

View File

@ -0,0 +1,145 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ARTISTINFO_H
#define JELLYFIN_DTO_ARTISTINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class SongInfo;
class ArtistInfo : public QObject {
Q_OBJECT
public:
explicit ArtistInfo(QObject *parent = nullptr);
static ArtistInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the path.
*/
Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
/**
* @brief Gets or sets the metadata language.
*/
Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged)
/**
* @brief Gets or sets the metadata country code.
*/
Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged)
/**
* @brief Gets or sets the provider ids.
*/
Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged)
/**
* @brief Gets or sets the year.
*/
Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged)
Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged)
Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged)
Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged)
Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged)
Q_PROPERTY(QList<SongInfo *> songInfos READ songInfos WRITE setSongInfos NOTIFY songInfosChanged)
QString name() const;
void setName(QString newName);
QString path() const;
void setPath(QString newPath);
QString metadataLanguage() const;
void setMetadataLanguage(QString newMetadataLanguage);
QString metadataCountryCode() const;
void setMetadataCountryCode(QString newMetadataCountryCode);
QJsonObject providerIds() const;
void setProviderIds(QJsonObject newProviderIds);
qint32 year() const;
void setYear(qint32 newYear);
qint32 indexNumber() const;
void setIndexNumber(qint32 newIndexNumber);
qint32 parentIndexNumber() const;
void setParentIndexNumber(qint32 newParentIndexNumber);
QDateTime premiereDate() const;
void setPremiereDate(QDateTime newPremiereDate);
bool isAutomated() const;
void setIsAutomated(bool newIsAutomated);
QList<SongInfo *> songInfos() const;
void setSongInfos(QList<SongInfo *> newSongInfos);
signals:
void nameChanged(QString newName);
void pathChanged(QString newPath);
void metadataLanguageChanged(QString newMetadataLanguage);
void metadataCountryCodeChanged(QString newMetadataCountryCode);
void providerIdsChanged(QJsonObject newProviderIds);
void yearChanged(qint32 newYear);
void indexNumberChanged(qint32 newIndexNumber);
void parentIndexNumberChanged(qint32 newParentIndexNumber);
void premiereDateChanged(QDateTime newPremiereDate);
void isAutomatedChanged(bool newIsAutomated);
void songInfosChanged(QList<SongInfo *> newSongInfos);
protected:
QString m_name;
QString m_path;
QString m_metadataLanguage;
QString m_metadataCountryCode;
QJsonObject m_providerIds;
qint32 m_year;
qint32 m_indexNumber;
qint32 m_parentIndexNumber;
QDateTime m_premiereDate;
bool m_isAutomated;
QList<SongInfo *> m_songInfos;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ARTISTINFO_H

View File

@ -0,0 +1,88 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H
#define JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class ArtistInfo;
class ArtistInfoRemoteSearchQuery : public QObject {
Q_OBJECT
public:
explicit ArtistInfoRemoteSearchQuery(QObject *parent = nullptr);
static ArtistInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(ArtistInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged)
Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged)
/**
* @brief Will only search within the given provider when set.
*/
Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged)
/**
* @brief Gets or sets a value indicating whether disabled providers should be included.
*/
Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged)
ArtistInfo * searchInfo() const;
void setSearchInfo(ArtistInfo * newSearchInfo);
QString itemId() const;
void setItemId(QString newItemId);
QString searchProviderName() const;
void setSearchProviderName(QString newSearchProviderName);
bool includeDisabledProviders() const;
void setIncludeDisabledProviders(bool newIncludeDisabledProviders);
signals:
void searchInfoChanged(ArtistInfo * newSearchInfo);
void itemIdChanged(QString newItemId);
void searchProviderNameChanged(QString newSearchProviderName);
void includeDisabledProvidersChanged(bool newIncludeDisabledProviders);
protected:
ArtistInfo * m_searchInfo = nullptr;
QString m_itemId;
QString m_searchProviderName;
bool m_includeDisabledProviders;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H

View File

@ -0,0 +1,83 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H
#define JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class AuthenticateUserByName : public QObject {
Q_OBJECT
public:
explicit AuthenticateUserByName(QObject *parent = nullptr);
static AuthenticateUserByName *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the username.
*/
Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged)
/**
* @brief Gets or sets the plain text password.
*/
Q_PROPERTY(QString pw READ pw WRITE setPw NOTIFY pwChanged)
/**
* @brief Gets or sets the sha1-hashed password.
*/
Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
QString username() const;
void setUsername(QString newUsername);
QString pw() const;
void setPw(QString newPw);
QString password() const;
void setPassword(QString newPassword);
signals:
void usernameChanged(QString newUsername);
void pwChanged(QString newPw);
void passwordChanged(QString newPassword);
protected:
QString m_username;
QString m_pw;
QString m_password;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H

View File

@ -0,0 +1,159 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_AUTHENTICATIONINFO_H
#define JELLYFIN_DTO_AUTHENTICATIONINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class AuthenticationInfo : public QObject {
Q_OBJECT
public:
explicit AuthenticationInfo(QObject *parent = nullptr);
static AuthenticationInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the identifier.
*/
Q_PROPERTY(qint64 jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets the access token.
*/
Q_PROPERTY(QString accessToken READ accessToken WRITE setAccessToken NOTIFY accessTokenChanged)
/**
* @brief Gets or sets the device identifier.
*/
Q_PROPERTY(QString deviceId READ deviceId WRITE setDeviceId NOTIFY deviceIdChanged)
/**
* @brief Gets or sets the name of the application.
*/
Q_PROPERTY(QString appName READ appName WRITE setAppName NOTIFY appNameChanged)
/**
* @brief Gets or sets the application version.
*/
Q_PROPERTY(QString appVersion READ appVersion WRITE setAppVersion NOTIFY appVersionChanged)
/**
* @brief Gets or sets the name of the device.
*/
Q_PROPERTY(QString deviceName READ deviceName WRITE setDeviceName NOTIFY deviceNameChanged)
/**
* @brief Gets or sets the user identifier.
*/
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
/**
* @brief Gets or sets a value indicating whether this instance is active.
*/
Q_PROPERTY(bool isActive READ isActive WRITE setIsActive NOTIFY isActiveChanged)
/**
* @brief Gets or sets the date created.
*/
Q_PROPERTY(QDateTime dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged)
/**
* @brief Gets or sets the date revoked.
*/
Q_PROPERTY(QDateTime dateRevoked READ dateRevoked WRITE setDateRevoked NOTIFY dateRevokedChanged)
Q_PROPERTY(QDateTime dateLastActivity READ dateLastActivity WRITE setDateLastActivity NOTIFY dateLastActivityChanged)
Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged)
qint64 jellyfinId() const;
void setJellyfinId(qint64 newJellyfinId);
QString accessToken() const;
void setAccessToken(QString newAccessToken);
QString deviceId() const;
void setDeviceId(QString newDeviceId);
QString appName() const;
void setAppName(QString newAppName);
QString appVersion() const;
void setAppVersion(QString newAppVersion);
QString deviceName() const;
void setDeviceName(QString newDeviceName);
QString userId() const;
void setUserId(QString newUserId);
bool isActive() const;
void setIsActive(bool newIsActive);
QDateTime dateCreated() const;
void setDateCreated(QDateTime newDateCreated);
QDateTime dateRevoked() const;
void setDateRevoked(QDateTime newDateRevoked);
QDateTime dateLastActivity() const;
void setDateLastActivity(QDateTime newDateLastActivity);
QString userName() const;
void setUserName(QString newUserName);
signals:
void jellyfinIdChanged(qint64 newJellyfinId);
void accessTokenChanged(QString newAccessToken);
void deviceIdChanged(QString newDeviceId);
void appNameChanged(QString newAppName);
void appVersionChanged(QString newAppVersion);
void deviceNameChanged(QString newDeviceName);
void userIdChanged(QString newUserId);
void isActiveChanged(bool newIsActive);
void dateCreatedChanged(QDateTime newDateCreated);
void dateRevokedChanged(QDateTime newDateRevoked);
void dateLastActivityChanged(QDateTime newDateLastActivity);
void userNameChanged(QString newUserName);
protected:
qint64 m_jellyfinId;
QString m_accessToken;
QString m_deviceId;
QString m_appName;
QString m_appVersion;
QString m_deviceName;
QString m_userId;
bool m_isActive;
QDateTime m_dateCreated;
QDateTime m_dateRevoked;
QDateTime m_dateLastActivity;
QString m_userName;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_AUTHENTICATIONINFO_H

View File

@ -0,0 +1,86 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_AUTHENTICATIONINFOQUERYRESULT_H
#define JELLYFIN_DTO_AUTHENTICATIONINFOQUERYRESULT_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class AuthenticationInfo;
class AuthenticationInfoQueryResult : public QObject {
Q_OBJECT
public:
explicit AuthenticationInfoQueryResult(QObject *parent = nullptr);
static AuthenticationInfoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the items.
*/
Q_PROPERTY(QList<AuthenticationInfo *> items READ items WRITE setItems NOTIFY itemsChanged)
/**
* @brief The total number of records available.
*/
Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged)
/**
* @brief The index of the first record in Items.
*/
Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged)
QList<AuthenticationInfo *> items() const;
void setItems(QList<AuthenticationInfo *> newItems);
qint32 totalRecordCount() const;
void setTotalRecordCount(qint32 newTotalRecordCount);
qint32 startIndex() const;
void setStartIndex(qint32 newStartIndex);
signals:
void itemsChanged(QList<AuthenticationInfo *> newItems);
void totalRecordCountChanged(qint32 newTotalRecordCount);
void startIndexChanged(qint32 newStartIndex);
protected:
QList<AuthenticationInfo *> m_items;
qint32 m_totalRecordCount;
qint32 m_startIndex;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_AUTHENTICATIONINFOQUERYRESULT_H

View File

@ -0,0 +1,83 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_AUTHENTICATIONRESULT_H
#define JELLYFIN_DTO_AUTHENTICATIONRESULT_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class SessionInfo;
class UserDto;
class AuthenticationResult : public QObject {
Q_OBJECT
public:
explicit AuthenticationResult(QObject *parent = nullptr);
static AuthenticationResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(UserDto * user READ user WRITE setUser NOTIFY userChanged)
Q_PROPERTY(SessionInfo * sessionInfo READ sessionInfo WRITE setSessionInfo NOTIFY sessionInfoChanged)
Q_PROPERTY(QString accessToken READ accessToken WRITE setAccessToken NOTIFY accessTokenChanged)
Q_PROPERTY(QString serverId READ serverId WRITE setServerId NOTIFY serverIdChanged)
UserDto * user() const;
void setUser(UserDto * newUser);
SessionInfo * sessionInfo() const;
void setSessionInfo(SessionInfo * newSessionInfo);
QString accessToken() const;
void setAccessToken(QString newAccessToken);
QString serverId() const;
void setServerId(QString newServerId);
signals:
void userChanged(UserDto * newUser);
void sessionInfoChanged(SessionInfo * newSessionInfo);
void accessTokenChanged(QString newAccessToken);
void serverIdChanged(QString newServerId);
protected:
UserDto * m_user = nullptr;
SessionInfo * m_sessionInfo = nullptr;
QString m_accessToken;
QString m_serverId;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_AUTHENTICATIONRESULT_H

View File

@ -0,0 +1,130 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BASEITEM_H
#define JELLYFIN_DTO_BASEITEM_H
#include <QDateTime>
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class MediaUrl;
class BaseItem : public QObject {
Q_OBJECT
public:
explicit BaseItem(QObject *parent = nullptr);
static BaseItem *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged)
Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged)
Q_PROPERTY(QDateTime dateLastSaved READ dateLastSaved WRITE setDateLastSaved NOTIFY dateLastSavedChanged)
/**
* @brief Gets or sets the remote trailers.
*/
Q_PROPERTY(QList<MediaUrl *> remoteTrailers READ remoteTrailers WRITE setRemoteTrailers NOTIFY remoteTrailersChanged)
Q_PROPERTY(bool isHD READ isHD WRITE setIsHD NOTIFY isHDChanged)
Q_PROPERTY(bool isShortcut READ isShortcut WRITE setIsShortcut NOTIFY isShortcutChanged)
Q_PROPERTY(QString shortcutPath READ shortcutPath WRITE setShortcutPath NOTIFY shortcutPathChanged)
Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged)
Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged)
Q_PROPERTY(QStringList extraIds READ extraIds WRITE setExtraIds NOTIFY extraIdsChanged)
Q_PROPERTY(bool supportsExternalTransfer READ supportsExternalTransfer WRITE setSupportsExternalTransfer NOTIFY supportsExternalTransferChanged)
qint64 size() const;
void setSize(qint64 newSize);
QString container() const;
void setContainer(QString newContainer);
QDateTime dateLastSaved() const;
void setDateLastSaved(QDateTime newDateLastSaved);
QList<MediaUrl *> remoteTrailers() const;
void setRemoteTrailers(QList<MediaUrl *> newRemoteTrailers);
bool isHD() const;
void setIsHD(bool newIsHD);
bool isShortcut() const;
void setIsShortcut(bool newIsShortcut);
QString shortcutPath() const;
void setShortcutPath(QString newShortcutPath);
qint32 width() const;
void setWidth(qint32 newWidth);
qint32 height() const;
void setHeight(qint32 newHeight);
QStringList extraIds() const;
void setExtraIds(QStringList newExtraIds);
bool supportsExternalTransfer() const;
void setSupportsExternalTransfer(bool newSupportsExternalTransfer);
signals:
void sizeChanged(qint64 newSize);
void containerChanged(QString newContainer);
void dateLastSavedChanged(QDateTime newDateLastSaved);
void remoteTrailersChanged(QList<MediaUrl *> newRemoteTrailers);
void isHDChanged(bool newIsHD);
void isShortcutChanged(bool newIsShortcut);
void shortcutPathChanged(QString newShortcutPath);
void widthChanged(qint32 newWidth);
void heightChanged(qint32 newHeight);
void extraIdsChanged(QStringList newExtraIds);
void supportsExternalTransferChanged(bool newSupportsExternalTransfer);
protected:
qint64 m_size;
QString m_container;
QDateTime m_dateLastSaved;
QList<MediaUrl *> m_remoteTrailers;
bool m_isHD;
bool m_isShortcut;
QString m_shortcutPath;
qint32 m_width;
qint32 m_height;
QStringList m_extraIds;
bool m_supportsExternalTransfer;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BASEITEM_H

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,86 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BASEITEMDTOQUERYRESULT_H
#define JELLYFIN_DTO_BASEITEMDTOQUERYRESULT_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class BaseItemDto;
class BaseItemDtoQueryResult : public QObject {
Q_OBJECT
public:
explicit BaseItemDtoQueryResult(QObject *parent = nullptr);
static BaseItemDtoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the items.
*/
Q_PROPERTY(QList<BaseItemDto *> items READ items WRITE setItems NOTIFY itemsChanged)
/**
* @brief The total number of records available.
*/
Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged)
/**
* @brief The index of the first record in Items.
*/
Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged)
QList<BaseItemDto *> items() const;
void setItems(QList<BaseItemDto *> newItems);
qint32 totalRecordCount() const;
void setTotalRecordCount(qint32 newTotalRecordCount);
qint32 startIndex() const;
void setStartIndex(qint32 newStartIndex);
signals:
void itemsChanged(QList<BaseItemDto *> newItems);
void totalRecordCountChanged(qint32 newTotalRecordCount);
void startIndexChanged(qint32 newStartIndex);
protected:
QList<BaseItemDto *> m_items;
qint32 m_totalRecordCount;
qint32 m_startIndex;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BASEITEMDTOQUERYRESULT_H

View File

@ -0,0 +1,110 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BASEITEMPERSON_H
#define JELLYFIN_DTO_BASEITEMPERSON_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class BaseItemPerson : public QObject {
Q_OBJECT
public:
explicit BaseItemPerson(QObject *parent = nullptr);
static BaseItemPerson *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the identifier.
*/
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets the role.
*/
Q_PROPERTY(QString role READ role WRITE setRole NOTIFY roleChanged)
/**
* @brief Gets or sets the type.
*/
Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged)
/**
* @brief Gets or sets the primary image tag.
*/
Q_PROPERTY(QString primaryImageTag READ primaryImageTag WRITE setPrimaryImageTag NOTIFY primaryImageTagChanged)
/**
* @brief Gets or sets the primary image blurhash.
*/
Q_PROPERTY(QJsonObject imageBlurHashes READ imageBlurHashes WRITE setImageBlurHashes NOTIFY imageBlurHashesChanged)
QString name() const;
void setName(QString newName);
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
QString role() const;
void setRole(QString newRole);
QString type() const;
void setType(QString newType);
QString primaryImageTag() const;
void setPrimaryImageTag(QString newPrimaryImageTag);
QJsonObject imageBlurHashes() const;
void setImageBlurHashes(QJsonObject newImageBlurHashes);
signals:
void nameChanged(QString newName);
void jellyfinIdChanged(QString newJellyfinId);
void roleChanged(QString newRole);
void typeChanged(QString newType);
void primaryImageTagChanged(QString newPrimaryImageTag);
void imageBlurHashesChanged(QJsonObject newImageBlurHashes);
protected:
QString m_name;
QString m_jellyfinId;
QString m_role;
QString m_type;
QString m_primaryImageTag;
QJsonObject m_imageBlurHashes;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BASEITEMPERSON_H

View File

@ -0,0 +1,141 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BOOKINFO_H
#define JELLYFIN_DTO_BOOKINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class BookInfo : public QObject {
Q_OBJECT
public:
explicit BookInfo(QObject *parent = nullptr);
static BookInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the path.
*/
Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
/**
* @brief Gets or sets the metadata language.
*/
Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged)
/**
* @brief Gets or sets the metadata country code.
*/
Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged)
/**
* @brief Gets or sets the provider ids.
*/
Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged)
/**
* @brief Gets or sets the year.
*/
Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged)
Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged)
Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged)
Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged)
Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged)
Q_PROPERTY(QString seriesName READ seriesName WRITE setSeriesName NOTIFY seriesNameChanged)
QString name() const;
void setName(QString newName);
QString path() const;
void setPath(QString newPath);
QString metadataLanguage() const;
void setMetadataLanguage(QString newMetadataLanguage);
QString metadataCountryCode() const;
void setMetadataCountryCode(QString newMetadataCountryCode);
QJsonObject providerIds() const;
void setProviderIds(QJsonObject newProviderIds);
qint32 year() const;
void setYear(qint32 newYear);
qint32 indexNumber() const;
void setIndexNumber(qint32 newIndexNumber);
qint32 parentIndexNumber() const;
void setParentIndexNumber(qint32 newParentIndexNumber);
QDateTime premiereDate() const;
void setPremiereDate(QDateTime newPremiereDate);
bool isAutomated() const;
void setIsAutomated(bool newIsAutomated);
QString seriesName() const;
void setSeriesName(QString newSeriesName);
signals:
void nameChanged(QString newName);
void pathChanged(QString newPath);
void metadataLanguageChanged(QString newMetadataLanguage);
void metadataCountryCodeChanged(QString newMetadataCountryCode);
void providerIdsChanged(QJsonObject newProviderIds);
void yearChanged(qint32 newYear);
void indexNumberChanged(qint32 newIndexNumber);
void parentIndexNumberChanged(qint32 newParentIndexNumber);
void premiereDateChanged(QDateTime newPremiereDate);
void isAutomatedChanged(bool newIsAutomated);
void seriesNameChanged(QString newSeriesName);
protected:
QString m_name;
QString m_path;
QString m_metadataLanguage;
QString m_metadataCountryCode;
QJsonObject m_providerIds;
qint32 m_year;
qint32 m_indexNumber;
qint32 m_parentIndexNumber;
QDateTime m_premiereDate;
bool m_isAutomated;
QString m_seriesName;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BOOKINFO_H

View File

@ -0,0 +1,88 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H
#define JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class BookInfo;
class BookInfoRemoteSearchQuery : public QObject {
Q_OBJECT
public:
explicit BookInfoRemoteSearchQuery(QObject *parent = nullptr);
static BookInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(BookInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged)
Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged)
/**
* @brief Will only search within the given provider when set.
*/
Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged)
/**
* @brief Gets or sets a value indicating whether disabled providers should be included.
*/
Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged)
BookInfo * searchInfo() const;
void setSearchInfo(BookInfo * newSearchInfo);
QString itemId() const;
void setItemId(QString newItemId);
QString searchProviderName() const;
void setSearchProviderName(QString newSearchProviderName);
bool includeDisabledProviders() const;
void setIncludeDisabledProviders(bool newIncludeDisabledProviders);
signals:
void searchInfoChanged(BookInfo * newSearchInfo);
void itemIdChanged(QString newItemId);
void searchProviderNameChanged(QString newSearchProviderName);
void includeDisabledProvidersChanged(bool newIncludeDisabledProviders);
protected:
BookInfo * m_searchInfo = nullptr;
QString m_itemId;
QString m_searchProviderName;
bool m_includeDisabledProviders;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H

View File

@ -0,0 +1,135 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BOXSETINFO_H
#define JELLYFIN_DTO_BOXSETINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class BoxSetInfo : public QObject {
Q_OBJECT
public:
explicit BoxSetInfo(QObject *parent = nullptr);
static BoxSetInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the path.
*/
Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
/**
* @brief Gets or sets the metadata language.
*/
Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged)
/**
* @brief Gets or sets the metadata country code.
*/
Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged)
/**
* @brief Gets or sets the provider ids.
*/
Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged)
/**
* @brief Gets or sets the year.
*/
Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged)
Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged)
Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged)
Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged)
Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged)
QString name() const;
void setName(QString newName);
QString path() const;
void setPath(QString newPath);
QString metadataLanguage() const;
void setMetadataLanguage(QString newMetadataLanguage);
QString metadataCountryCode() const;
void setMetadataCountryCode(QString newMetadataCountryCode);
QJsonObject providerIds() const;
void setProviderIds(QJsonObject newProviderIds);
qint32 year() const;
void setYear(qint32 newYear);
qint32 indexNumber() const;
void setIndexNumber(qint32 newIndexNumber);
qint32 parentIndexNumber() const;
void setParentIndexNumber(qint32 newParentIndexNumber);
QDateTime premiereDate() const;
void setPremiereDate(QDateTime newPremiereDate);
bool isAutomated() const;
void setIsAutomated(bool newIsAutomated);
signals:
void nameChanged(QString newName);
void pathChanged(QString newPath);
void metadataLanguageChanged(QString newMetadataLanguage);
void metadataCountryCodeChanged(QString newMetadataCountryCode);
void providerIdsChanged(QJsonObject newProviderIds);
void yearChanged(qint32 newYear);
void indexNumberChanged(qint32 newIndexNumber);
void parentIndexNumberChanged(qint32 newParentIndexNumber);
void premiereDateChanged(QDateTime newPremiereDate);
void isAutomatedChanged(bool newIsAutomated);
protected:
QString m_name;
QString m_path;
QString m_metadataLanguage;
QString m_metadataCountryCode;
QJsonObject m_providerIds;
qint32 m_year;
qint32 m_indexNumber;
qint32 m_parentIndexNumber;
QDateTime m_premiereDate;
bool m_isAutomated;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BOXSETINFO_H

View File

@ -0,0 +1,88 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H
#define JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class BoxSetInfo;
class BoxSetInfoRemoteSearchQuery : public QObject {
Q_OBJECT
public:
explicit BoxSetInfoRemoteSearchQuery(QObject *parent = nullptr);
static BoxSetInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(BoxSetInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged)
Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged)
/**
* @brief Will only search within the given provider when set.
*/
Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged)
/**
* @brief Gets or sets a value indicating whether disabled providers should be included.
*/
Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged)
BoxSetInfo * searchInfo() const;
void setSearchInfo(BoxSetInfo * newSearchInfo);
QString itemId() const;
void setItemId(QString newItemId);
QString searchProviderName() const;
void setSearchProviderName(QString newSearchProviderName);
bool includeDisabledProviders() const;
void setIncludeDisabledProviders(bool newIncludeDisabledProviders);
signals:
void searchInfoChanged(BoxSetInfo * newSearchInfo);
void itemIdChanged(QString newItemId);
void searchProviderNameChanged(QString newSearchProviderName);
void includeDisabledProvidersChanged(bool newIncludeDisabledProviders);
protected:
BoxSetInfo * m_searchInfo = nullptr;
QString m_itemId;
QString m_searchProviderName;
bool m_includeDisabledProviders;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H

View File

@ -0,0 +1,74 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BRANDINGOPTIONS_H
#define JELLYFIN_DTO_BRANDINGOPTIONS_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class BrandingOptions : public QObject {
Q_OBJECT
public:
explicit BrandingOptions(QObject *parent = nullptr);
static BrandingOptions *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the login disclaimer.
*/
Q_PROPERTY(QString loginDisclaimer READ loginDisclaimer WRITE setLoginDisclaimer NOTIFY loginDisclaimerChanged)
/**
* @brief Gets or sets the custom CSS.
*/
Q_PROPERTY(QString customCss READ customCss WRITE setCustomCss NOTIFY customCssChanged)
QString loginDisclaimer() const;
void setLoginDisclaimer(QString newLoginDisclaimer);
QString customCss() const;
void setCustomCss(QString newCustomCss);
signals:
void loginDisclaimerChanged(QString newLoginDisclaimer);
void customCssChanged(QString newCustomCss);
protected:
QString m_loginDisclaimer;
QString m_customCss;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BRANDINGOPTIONS_H

View File

@ -0,0 +1,93 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_BUFFERREQUESTDTO_H
#define JELLYFIN_DTO_BUFFERREQUESTDTO_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class BufferRequestDto : public QObject {
Q_OBJECT
public:
explicit BufferRequestDto(QObject *parent = nullptr);
static BufferRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets when the request has been made by the client.
*/
Q_PROPERTY(QDateTime when READ when WRITE setWhen NOTIFY whenChanged)
/**
* @brief Gets or sets the position ticks.
*/
Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged)
/**
* @brief Gets or sets a value indicating whether the client playback is unpaused.
*/
Q_PROPERTY(bool isPlaying READ isPlaying WRITE setIsPlaying NOTIFY isPlayingChanged)
/**
* @brief Gets or sets the playlist item identifier of the playing item.
*/
Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged)
QDateTime when() const;
void setWhen(QDateTime newWhen);
qint64 positionTicks() const;
void setPositionTicks(qint64 newPositionTicks);
bool isPlaying() const;
void setIsPlaying(bool newIsPlaying);
QString playlistItemId() const;
void setPlaylistItemId(QString newPlaylistItemId);
signals:
void whenChanged(QDateTime newWhen);
void positionTicksChanged(qint64 newPositionTicks);
void isPlayingChanged(bool newIsPlaying);
void playlistItemIdChanged(QString newPlaylistItemId);
protected:
QDateTime m_when;
qint64 m_positionTicks;
bool m_isPlaying;
QString m_playlistItemId;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_BUFFERREQUESTDTO_H

View File

@ -0,0 +1,170 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CHANNELFEATURES_H
#define JELLYFIN_DTO_CHANNELFEATURES_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/channelitemsortfield.h"
#include "JellyfinQt/DTO/channelmediacontenttype.h"
#include "JellyfinQt/DTO/channelmediatype.h"
namespace Jellyfin {
namespace DTO {
class ChannelFeatures : public QObject {
Q_OBJECT
public:
explicit ChannelFeatures(QObject *parent = nullptr);
static ChannelFeatures *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the identifier.
*/
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets a value indicating whether this instance can search.
*/
Q_PROPERTY(bool canSearch READ canSearch WRITE setCanSearch NOTIFY canSearchChanged)
/**
* @brief Gets or sets the media types.
*/
Q_PROPERTY(QList<ChannelMediaType> mediaTypes READ mediaTypes WRITE setMediaTypes NOTIFY mediaTypesChanged)
/**
* @brief Gets or sets the content types.
*/
Q_PROPERTY(QList<ChannelMediaContentType> contentTypes READ contentTypes WRITE setContentTypes NOTIFY contentTypesChanged)
/**
* @brief Represents the maximum number of records the channel allows retrieving at a time.
*/
Q_PROPERTY(qint32 maxPageSize READ maxPageSize WRITE setMaxPageSize NOTIFY maxPageSizeChanged)
/**
* @brief Gets or sets the automatic refresh levels.
*/
Q_PROPERTY(qint32 autoRefreshLevels READ autoRefreshLevels WRITE setAutoRefreshLevels NOTIFY autoRefreshLevelsChanged)
/**
* @brief Gets or sets the default sort orders.
*/
Q_PROPERTY(QList<ChannelItemSortField> defaultSortFields READ defaultSortFields WRITE setDefaultSortFields NOTIFY defaultSortFieldsChanged)
/**
* @brief Indicates if a sort ascending/descending toggle is supported or not.
*/
Q_PROPERTY(bool supportsSortOrderToggle READ supportsSortOrderToggle WRITE setSupportsSortOrderToggle NOTIFY supportsSortOrderToggleChanged)
/**
* @brief Gets or sets a value indicating whether [supports latest media].
*/
Q_PROPERTY(bool supportsLatestMedia READ supportsLatestMedia WRITE setSupportsLatestMedia NOTIFY supportsLatestMediaChanged)
/**
* @brief Gets or sets a value indicating whether this instance can filter.
*/
Q_PROPERTY(bool canFilter READ canFilter WRITE setCanFilter NOTIFY canFilterChanged)
/**
* @brief Gets or sets a value indicating whether [supports content downloading].
*/
Q_PROPERTY(bool supportsContentDownloading READ supportsContentDownloading WRITE setSupportsContentDownloading NOTIFY supportsContentDownloadingChanged)
QString name() const;
void setName(QString newName);
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
bool canSearch() const;
void setCanSearch(bool newCanSearch);
QList<ChannelMediaType> mediaTypes() const;
void setMediaTypes(QList<ChannelMediaType> newMediaTypes);
QList<ChannelMediaContentType> contentTypes() const;
void setContentTypes(QList<ChannelMediaContentType> newContentTypes);
qint32 maxPageSize() const;
void setMaxPageSize(qint32 newMaxPageSize);
qint32 autoRefreshLevels() const;
void setAutoRefreshLevels(qint32 newAutoRefreshLevels);
QList<ChannelItemSortField> defaultSortFields() const;
void setDefaultSortFields(QList<ChannelItemSortField> newDefaultSortFields);
bool supportsSortOrderToggle() const;
void setSupportsSortOrderToggle(bool newSupportsSortOrderToggle);
bool supportsLatestMedia() const;
void setSupportsLatestMedia(bool newSupportsLatestMedia);
bool canFilter() const;
void setCanFilter(bool newCanFilter);
bool supportsContentDownloading() const;
void setSupportsContentDownloading(bool newSupportsContentDownloading);
signals:
void nameChanged(QString newName);
void jellyfinIdChanged(QString newJellyfinId);
void canSearchChanged(bool newCanSearch);
void mediaTypesChanged(QList<ChannelMediaType> newMediaTypes);
void contentTypesChanged(QList<ChannelMediaContentType> newContentTypes);
void maxPageSizeChanged(qint32 newMaxPageSize);
void autoRefreshLevelsChanged(qint32 newAutoRefreshLevels);
void defaultSortFieldsChanged(QList<ChannelItemSortField> newDefaultSortFields);
void supportsSortOrderToggleChanged(bool newSupportsSortOrderToggle);
void supportsLatestMediaChanged(bool newSupportsLatestMedia);
void canFilterChanged(bool newCanFilter);
void supportsContentDownloadingChanged(bool newSupportsContentDownloading);
protected:
QString m_name;
QString m_jellyfinId;
bool m_canSearch;
QList<ChannelMediaType> m_mediaTypes;
QList<ChannelMediaContentType> m_contentTypes;
qint32 m_maxPageSize;
qint32 m_autoRefreshLevels;
QList<ChannelItemSortField> m_defaultSortFields;
bool m_supportsSortOrderToggle;
bool m_supportsLatestMedia;
bool m_canFilter;
bool m_supportsContentDownloading;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CHANNELFEATURES_H

View File

@ -0,0 +1,59 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CHANNELITEMSORTFIELD_H
#define JELLYFIN_DTO_CHANNELITEMSORTFIELD_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ChannelItemSortFieldClass {
Q_GADGET
public:
enum Value {
Name,
CommunityRating,
PremiereDate,
DateCreated,
Runtime,
PlayCount,
CommunityPlayCount,
};
Q_ENUM(Value)
private:
explicit ChannelItemSortFieldClass();
};
typedef ChannelItemSortFieldClass::Value ChannelItemSortField;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CHANNELITEMSORTFIELD_H

View File

@ -0,0 +1,98 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CHANNELMAPPINGOPTIONSDTO_H
#define JELLYFIN_DTO_CHANNELMAPPINGOPTIONSDTO_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class NameIdPair;
class NameValuePair;
class TunerChannelMapping;
class ChannelMappingOptionsDto : public QObject {
Q_OBJECT
public:
explicit ChannelMappingOptionsDto(QObject *parent = nullptr);
static ChannelMappingOptionsDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets list of tuner channels.
*/
Q_PROPERTY(QList<TunerChannelMapping *> tunerChannels READ tunerChannels WRITE setTunerChannels NOTIFY tunerChannelsChanged)
/**
* @brief Gets or sets list of provider channels.
*/
Q_PROPERTY(QList<NameIdPair *> providerChannels READ providerChannels WRITE setProviderChannels NOTIFY providerChannelsChanged)
/**
* @brief Gets or sets list of mappings.
*/
Q_PROPERTY(QList<NameValuePair *> mappings READ mappings WRITE setMappings NOTIFY mappingsChanged)
/**
* @brief Gets or sets provider name.
*/
Q_PROPERTY(QString providerName READ providerName WRITE setProviderName NOTIFY providerNameChanged)
QList<TunerChannelMapping *> tunerChannels() const;
void setTunerChannels(QList<TunerChannelMapping *> newTunerChannels);
QList<NameIdPair *> providerChannels() const;
void setProviderChannels(QList<NameIdPair *> newProviderChannels);
QList<NameValuePair *> mappings() const;
void setMappings(QList<NameValuePair *> newMappings);
QString providerName() const;
void setProviderName(QString newProviderName);
signals:
void tunerChannelsChanged(QList<TunerChannelMapping *> newTunerChannels);
void providerChannelsChanged(QList<NameIdPair *> newProviderChannels);
void mappingsChanged(QList<NameValuePair *> newMappings);
void providerNameChanged(QString newProviderName);
protected:
QList<TunerChannelMapping *> m_tunerChannels;
QList<NameIdPair *> m_providerChannels;
QList<NameValuePair *> m_mappings;
QString m_providerName;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CHANNELMAPPINGOPTIONSDTO_H

View File

@ -0,0 +1,60 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H
#define JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ChannelMediaContentTypeClass {
Q_GADGET
public:
enum Value {
Clip,
Podcast,
Trailer,
Movie,
Episode,
Song,
MovieExtra,
TvExtra,
};
Q_ENUM(Value)
private:
explicit ChannelMediaContentTypeClass();
};
typedef ChannelMediaContentTypeClass::Value ChannelMediaContentType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H

View File

@ -0,0 +1,55 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CHANNELMEDIATYPE_H
#define JELLYFIN_DTO_CHANNELMEDIATYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ChannelMediaTypeClass {
Q_GADGET
public:
enum Value {
Audio,
Video,
Photo,
};
Q_ENUM(Value)
private:
explicit ChannelMediaTypeClass();
};
typedef ChannelMediaTypeClass::Value ChannelMediaType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CHANNELMEDIATYPE_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CHANNELTYPE_H
#define JELLYFIN_DTO_CHANNELTYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ChannelTypeClass {
Q_GADGET
public:
enum Value {
TV,
Radio,
};
Q_ENUM(Value)
private:
explicit ChannelTypeClass();
};
typedef ChannelTypeClass::Value ChannelType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CHANNELTYPE_H

View File

@ -0,0 +1,96 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CHAPTERINFO_H
#define JELLYFIN_DTO_CHAPTERINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class ChapterInfo : public QObject {
Q_OBJECT
public:
explicit ChapterInfo(QObject *parent = nullptr);
static ChapterInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the start position ticks.
*/
Q_PROPERTY(qint64 startPositionTicks READ startPositionTicks WRITE setStartPositionTicks NOTIFY startPositionTicksChanged)
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the image path.
*/
Q_PROPERTY(QString imagePath READ imagePath WRITE setImagePath NOTIFY imagePathChanged)
Q_PROPERTY(QDateTime imageDateModified READ imageDateModified WRITE setImageDateModified NOTIFY imageDateModifiedChanged)
Q_PROPERTY(QString imageTag READ imageTag WRITE setImageTag NOTIFY imageTagChanged)
qint64 startPositionTicks() const;
void setStartPositionTicks(qint64 newStartPositionTicks);
QString name() const;
void setName(QString newName);
QString imagePath() const;
void setImagePath(QString newImagePath);
QDateTime imageDateModified() const;
void setImageDateModified(QDateTime newImageDateModified);
QString imageTag() const;
void setImageTag(QString newImageTag);
signals:
void startPositionTicksChanged(qint64 newStartPositionTicks);
void nameChanged(QString newName);
void imagePathChanged(QString newImagePath);
void imageDateModifiedChanged(QDateTime newImageDateModified);
void imageTagChanged(QString newImageTag);
protected:
qint64 m_startPositionTicks;
QString m_name;
QString m_imagePath;
QDateTime m_imageDateModified;
QString m_imageTag;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CHAPTERINFO_H

View File

@ -0,0 +1,122 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CLIENTCAPABILITIES_H
#define JELLYFIN_DTO_CLIENTCAPABILITIES_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/generalcommandtype.h"
namespace Jellyfin {
namespace DTO {
class DeviceProfile;
class ClientCapabilities : public QObject {
Q_OBJECT
public:
explicit ClientCapabilities(QObject *parent = nullptr);
static ClientCapabilities *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(QStringList playableMediaTypes READ playableMediaTypes WRITE setPlayableMediaTypes NOTIFY playableMediaTypesChanged)
Q_PROPERTY(QList<GeneralCommandType> supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged)
Q_PROPERTY(bool supportsMediaControl READ supportsMediaControl WRITE setSupportsMediaControl NOTIFY supportsMediaControlChanged)
Q_PROPERTY(bool supportsContentUploading READ supportsContentUploading WRITE setSupportsContentUploading NOTIFY supportsContentUploadingChanged)
Q_PROPERTY(QString messageCallbackUrl READ messageCallbackUrl WRITE setMessageCallbackUrl NOTIFY messageCallbackUrlChanged)
Q_PROPERTY(bool supportsPersistentIdentifier READ supportsPersistentIdentifier WRITE setSupportsPersistentIdentifier NOTIFY supportsPersistentIdentifierChanged)
Q_PROPERTY(bool supportsSync READ supportsSync WRITE setSupportsSync NOTIFY supportsSyncChanged)
Q_PROPERTY(DeviceProfile * deviceProfile READ deviceProfile WRITE setDeviceProfile NOTIFY deviceProfileChanged)
Q_PROPERTY(QString appStoreUrl READ appStoreUrl WRITE setAppStoreUrl NOTIFY appStoreUrlChanged)
Q_PROPERTY(QString iconUrl READ iconUrl WRITE setIconUrl NOTIFY iconUrlChanged)
QStringList playableMediaTypes() const;
void setPlayableMediaTypes(QStringList newPlayableMediaTypes);
QList<GeneralCommandType> supportedCommands() const;
void setSupportedCommands(QList<GeneralCommandType> newSupportedCommands);
bool supportsMediaControl() const;
void setSupportsMediaControl(bool newSupportsMediaControl);
bool supportsContentUploading() const;
void setSupportsContentUploading(bool newSupportsContentUploading);
QString messageCallbackUrl() const;
void setMessageCallbackUrl(QString newMessageCallbackUrl);
bool supportsPersistentIdentifier() const;
void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier);
bool supportsSync() const;
void setSupportsSync(bool newSupportsSync);
DeviceProfile * deviceProfile() const;
void setDeviceProfile(DeviceProfile * newDeviceProfile);
QString appStoreUrl() const;
void setAppStoreUrl(QString newAppStoreUrl);
QString iconUrl() const;
void setIconUrl(QString newIconUrl);
signals:
void playableMediaTypesChanged(QStringList newPlayableMediaTypes);
void supportedCommandsChanged(QList<GeneralCommandType> newSupportedCommands);
void supportsMediaControlChanged(bool newSupportsMediaControl);
void supportsContentUploadingChanged(bool newSupportsContentUploading);
void messageCallbackUrlChanged(QString newMessageCallbackUrl);
void supportsPersistentIdentifierChanged(bool newSupportsPersistentIdentifier);
void supportsSyncChanged(bool newSupportsSync);
void deviceProfileChanged(DeviceProfile * newDeviceProfile);
void appStoreUrlChanged(QString newAppStoreUrl);
void iconUrlChanged(QString newIconUrl);
protected:
QStringList m_playableMediaTypes;
QList<GeneralCommandType> m_supportedCommands;
bool m_supportsMediaControl;
bool m_supportsContentUploading;
QString m_messageCallbackUrl;
bool m_supportsPersistentIdentifier;
bool m_supportsSync;
DeviceProfile * m_deviceProfile = nullptr;
QString m_appStoreUrl;
QString m_iconUrl;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CLIENTCAPABILITIES_H

View File

@ -0,0 +1,149 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H
#define JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/generalcommandtype.h"
namespace Jellyfin {
namespace DTO {
class DeviceProfile;
class ClientCapabilitiesDto : public QObject {
Q_OBJECT
public:
explicit ClientCapabilitiesDto(QObject *parent = nullptr);
static ClientCapabilitiesDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the list of playable media types.
*/
Q_PROPERTY(QStringList playableMediaTypes READ playableMediaTypes WRITE setPlayableMediaTypes NOTIFY playableMediaTypesChanged)
/**
* @brief Gets or sets the list of supported commands.
*/
Q_PROPERTY(QList<GeneralCommandType> supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged)
/**
* @brief Gets or sets a value indicating whether session supports media control.
*/
Q_PROPERTY(bool supportsMediaControl READ supportsMediaControl WRITE setSupportsMediaControl NOTIFY supportsMediaControlChanged)
/**
* @brief Gets or sets a value indicating whether session supports content uploading.
*/
Q_PROPERTY(bool supportsContentUploading READ supportsContentUploading WRITE setSupportsContentUploading NOTIFY supportsContentUploadingChanged)
/**
* @brief Gets or sets the message callback url.
*/
Q_PROPERTY(QString messageCallbackUrl READ messageCallbackUrl WRITE setMessageCallbackUrl NOTIFY messageCallbackUrlChanged)
/**
* @brief Gets or sets a value indicating whether session supports a persistent identifier.
*/
Q_PROPERTY(bool supportsPersistentIdentifier READ supportsPersistentIdentifier WRITE setSupportsPersistentIdentifier NOTIFY supportsPersistentIdentifierChanged)
/**
* @brief Gets or sets a value indicating whether session supports sync.
*/
Q_PROPERTY(bool supportsSync READ supportsSync WRITE setSupportsSync NOTIFY supportsSyncChanged)
Q_PROPERTY(DeviceProfile * deviceProfile READ deviceProfile WRITE setDeviceProfile NOTIFY deviceProfileChanged)
/**
* @brief Gets or sets the app store url.
*/
Q_PROPERTY(QString appStoreUrl READ appStoreUrl WRITE setAppStoreUrl NOTIFY appStoreUrlChanged)
/**
* @brief Gets or sets the icon url.
*/
Q_PROPERTY(QString iconUrl READ iconUrl WRITE setIconUrl NOTIFY iconUrlChanged)
QStringList playableMediaTypes() const;
void setPlayableMediaTypes(QStringList newPlayableMediaTypes);
QList<GeneralCommandType> supportedCommands() const;
void setSupportedCommands(QList<GeneralCommandType> newSupportedCommands);
bool supportsMediaControl() const;
void setSupportsMediaControl(bool newSupportsMediaControl);
bool supportsContentUploading() const;
void setSupportsContentUploading(bool newSupportsContentUploading);
QString messageCallbackUrl() const;
void setMessageCallbackUrl(QString newMessageCallbackUrl);
bool supportsPersistentIdentifier() const;
void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier);
bool supportsSync() const;
void setSupportsSync(bool newSupportsSync);
DeviceProfile * deviceProfile() const;
void setDeviceProfile(DeviceProfile * newDeviceProfile);
QString appStoreUrl() const;
void setAppStoreUrl(QString newAppStoreUrl);
QString iconUrl() const;
void setIconUrl(QString newIconUrl);
signals:
void playableMediaTypesChanged(QStringList newPlayableMediaTypes);
void supportedCommandsChanged(QList<GeneralCommandType> newSupportedCommands);
void supportsMediaControlChanged(bool newSupportsMediaControl);
void supportsContentUploadingChanged(bool newSupportsContentUploading);
void messageCallbackUrlChanged(QString newMessageCallbackUrl);
void supportsPersistentIdentifierChanged(bool newSupportsPersistentIdentifier);
void supportsSyncChanged(bool newSupportsSync);
void deviceProfileChanged(DeviceProfile * newDeviceProfile);
void appStoreUrlChanged(QString newAppStoreUrl);
void iconUrlChanged(QString newIconUrl);
protected:
QStringList m_playableMediaTypes;
QList<GeneralCommandType> m_supportedCommands;
bool m_supportsMediaControl;
bool m_supportsContentUploading;
QString m_messageCallbackUrl;
bool m_supportsPersistentIdentifier;
bool m_supportsSync;
DeviceProfile * m_deviceProfile = nullptr;
QString m_appStoreUrl;
QString m_iconUrl;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H

View File

@ -0,0 +1,93 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CODECPROFILE_H
#define JELLYFIN_DTO_CODECPROFILE_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/codectype.h"
namespace Jellyfin {
namespace DTO {
class ProfileCondition;
class ProfileCondition;
class CodecProfile : public QObject {
Q_OBJECT
public:
explicit CodecProfile(QObject *parent = nullptr);
static CodecProfile *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(CodecType type READ type WRITE setType NOTIFY typeChanged)
Q_PROPERTY(QList<ProfileCondition *> conditions READ conditions WRITE setConditions NOTIFY conditionsChanged)
Q_PROPERTY(QList<ProfileCondition *> applyConditions READ applyConditions WRITE setApplyConditions NOTIFY applyConditionsChanged)
Q_PROPERTY(QString codec READ codec WRITE setCodec NOTIFY codecChanged)
Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged)
CodecType type() const;
void setType(CodecType newType);
QList<ProfileCondition *> conditions() const;
void setConditions(QList<ProfileCondition *> newConditions);
QList<ProfileCondition *> applyConditions() const;
void setApplyConditions(QList<ProfileCondition *> newApplyConditions);
QString codec() const;
void setCodec(QString newCodec);
QString container() const;
void setContainer(QString newContainer);
signals:
void typeChanged(CodecType newType);
void conditionsChanged(QList<ProfileCondition *> newConditions);
void applyConditionsChanged(QList<ProfileCondition *> newApplyConditions);
void codecChanged(QString newCodec);
void containerChanged(QString newContainer);
protected:
CodecType m_type;
QList<ProfileCondition *> m_conditions;
QList<ProfileCondition *> m_applyConditions;
QString m_codec;
QString m_container;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CODECPROFILE_H

View File

@ -0,0 +1,55 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CODECTYPE_H
#define JELLYFIN_DTO_CODECTYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class CodecTypeClass {
Q_GADGET
public:
enum Value {
Video,
VideoAudio,
Audio,
};
Q_ENUM(Value)
private:
explicit CodecTypeClass();
};
typedef CodecTypeClass::Value CodecType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CODECTYPE_H

View File

@ -0,0 +1,62 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H
#define JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class CollectionCreationResult : public QObject {
Q_OBJECT
public:
explicit CollectionCreationResult(QObject *parent = nullptr);
static CollectionCreationResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
signals:
void jellyfinIdChanged(QString newJellyfinId);
protected:
QString m_jellyfinId;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H

View File

@ -0,0 +1,118 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H
#define JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/configurationpagetype.h"
namespace Jellyfin {
namespace DTO {
class ConfigurationPageInfo : public QObject {
Q_OBJECT
public:
explicit ConfigurationPageInfo(QObject *parent = nullptr);
static ConfigurationPageInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets a value indicating whether the configurations page is enabled in the main menu.
*/
Q_PROPERTY(bool enableInMainMenu READ enableInMainMenu WRITE setEnableInMainMenu NOTIFY enableInMainMenuChanged)
/**
* @brief Gets or sets the menu section.
*/
Q_PROPERTY(QString menuSection READ menuSection WRITE setMenuSection NOTIFY menuSectionChanged)
/**
* @brief Gets or sets the menu icon.
*/
Q_PROPERTY(QString menuIcon READ menuIcon WRITE setMenuIcon NOTIFY menuIconChanged)
/**
* @brief Gets or sets the display name.
*/
Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged)
Q_PROPERTY(ConfigurationPageType configurationPageType READ configurationPageType WRITE setConfigurationPageType NOTIFY configurationPageTypeChanged)
/**
* @brief Gets or sets the plugin id.
*/
Q_PROPERTY(QString pluginId READ pluginId WRITE setPluginId NOTIFY pluginIdChanged)
QString name() const;
void setName(QString newName);
bool enableInMainMenu() const;
void setEnableInMainMenu(bool newEnableInMainMenu);
QString menuSection() const;
void setMenuSection(QString newMenuSection);
QString menuIcon() const;
void setMenuIcon(QString newMenuIcon);
QString displayName() const;
void setDisplayName(QString newDisplayName);
ConfigurationPageType configurationPageType() const;
void setConfigurationPageType(ConfigurationPageType newConfigurationPageType);
QString pluginId() const;
void setPluginId(QString newPluginId);
signals:
void nameChanged(QString newName);
void enableInMainMenuChanged(bool newEnableInMainMenu);
void menuSectionChanged(QString newMenuSection);
void menuIconChanged(QString newMenuIcon);
void displayNameChanged(QString newDisplayName);
void configurationPageTypeChanged(ConfigurationPageType newConfigurationPageType);
void pluginIdChanged(QString newPluginId);
protected:
QString m_name;
bool m_enableInMainMenu;
QString m_menuSection;
QString m_menuIcon;
QString m_displayName;
ConfigurationPageType m_configurationPageType;
QString m_pluginId;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H
#define JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ConfigurationPageTypeClass {
Q_GADGET
public:
enum Value {
PluginConfiguration,
None,
};
Q_ENUM(Value)
private:
explicit ConfigurationPageTypeClass();
};
typedef ConfigurationPageTypeClass::Value ConfigurationPageType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H

View File

@ -0,0 +1,80 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CONTAINERPROFILE_H
#define JELLYFIN_DTO_CONTAINERPROFILE_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/dlnaprofiletype.h"
namespace Jellyfin {
namespace DTO {
class ProfileCondition;
class ContainerProfile : public QObject {
Q_OBJECT
public:
explicit ContainerProfile(QObject *parent = nullptr);
static ContainerProfile *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(DlnaProfileType type READ type WRITE setType NOTIFY typeChanged)
Q_PROPERTY(QList<ProfileCondition *> conditions READ conditions WRITE setConditions NOTIFY conditionsChanged)
Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged)
DlnaProfileType type() const;
void setType(DlnaProfileType newType);
QList<ProfileCondition *> conditions() const;
void setConditions(QList<ProfileCondition *> newConditions);
QString container() const;
void setContainer(QString newContainer);
signals:
void typeChanged(DlnaProfileType newType);
void conditionsChanged(QList<ProfileCondition *> newConditions);
void containerChanged(QString newContainer);
protected:
DlnaProfileType m_type;
QList<ProfileCondition *> m_conditions;
QString m_container;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CONTAINERPROFILE_H

View File

@ -0,0 +1,74 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CONTROLRESPONSE_H
#define JELLYFIN_DTO_CONTROLRESPONSE_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class ControlResponse : public QObject {
Q_OBJECT
public:
explicit ControlResponse(QObject *parent = nullptr);
static ControlResponse *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(QJsonObject headers READ headers WRITE setHeaders NOTIFY headersChanged)
Q_PROPERTY(QString xml READ xml WRITE setXml NOTIFY xmlChanged)
Q_PROPERTY(bool isSuccessful READ isSuccessful WRITE setIsSuccessful NOTIFY isSuccessfulChanged)
QJsonObject headers() const;
void setHeaders(QJsonObject newHeaders);
QString xml() const;
void setXml(QString newXml);
bool isSuccessful() const;
void setIsSuccessful(bool newIsSuccessful);
signals:
void headersChanged(QJsonObject newHeaders);
void xmlChanged(QString newXml);
void isSuccessfulChanged(bool newIsSuccessful);
protected:
QJsonObject m_headers;
QString m_xml;
bool m_isSuccessful;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CONTROLRESPONSE_H

View File

@ -0,0 +1,92 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_COUNTRYINFO_H
#define JELLYFIN_DTO_COUNTRYINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class CountryInfo : public QObject {
Q_OBJECT
public:
explicit CountryInfo(QObject *parent = nullptr);
static CountryInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the display name.
*/
Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged)
/**
* @brief Gets or sets the name of the two letter ISO region.
*/
Q_PROPERTY(QString twoLetterISORegionName READ twoLetterISORegionName WRITE setTwoLetterISORegionName NOTIFY twoLetterISORegionNameChanged)
/**
* @brief Gets or sets the name of the three letter ISO region.
*/
Q_PROPERTY(QString threeLetterISORegionName READ threeLetterISORegionName WRITE setThreeLetterISORegionName NOTIFY threeLetterISORegionNameChanged)
QString name() const;
void setName(QString newName);
QString displayName() const;
void setDisplayName(QString newDisplayName);
QString twoLetterISORegionName() const;
void setTwoLetterISORegionName(QString newTwoLetterISORegionName);
QString threeLetterISORegionName() const;
void setThreeLetterISORegionName(QString newThreeLetterISORegionName);
signals:
void nameChanged(QString newName);
void displayNameChanged(QString newDisplayName);
void twoLetterISORegionNameChanged(QString newTwoLetterISORegionName);
void threeLetterISORegionNameChanged(QString newThreeLetterISORegionName);
protected:
QString m_name;
QString m_displayName;
QString m_twoLetterISORegionName;
QString m_threeLetterISORegionName;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_COUNTRYINFO_H

View File

@ -0,0 +1,94 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CREATEPLAYLISTDTO_H
#define JELLYFIN_DTO_CREATEPLAYLISTDTO_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class CreatePlaylistDto : public QObject {
Q_OBJECT
public:
explicit CreatePlaylistDto(QObject *parent = nullptr);
static CreatePlaylistDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name of the new playlist.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets item ids to add to the playlist.
*/
Q_PROPERTY(QStringList ids READ ids WRITE setIds NOTIFY idsChanged)
/**
* @brief Gets or sets the user id.
*/
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
/**
* @brief Gets or sets the media type.
*/
Q_PROPERTY(QString mediaType READ mediaType WRITE setMediaType NOTIFY mediaTypeChanged)
QString name() const;
void setName(QString newName);
QStringList ids() const;
void setIds(QStringList newIds);
QString userId() const;
void setUserId(QString newUserId);
QString mediaType() const;
void setMediaType(QString newMediaType);
signals:
void nameChanged(QString newName);
void idsChanged(QStringList newIds);
void userIdChanged(QString newUserId);
void mediaTypeChanged(QString newMediaType);
protected:
QString m_name;
QStringList m_ids;
QString m_userId;
QString m_mediaType;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CREATEPLAYLISTDTO_H

View File

@ -0,0 +1,74 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CREATEUSERBYNAME_H
#define JELLYFIN_DTO_CREATEUSERBYNAME_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class CreateUserByName : public QObject {
Q_OBJECT
public:
explicit CreateUserByName(QObject *parent = nullptr);
static CreateUserByName *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the username.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the password.
*/
Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
QString name() const;
void setName(QString newName);
QString password() const;
void setPassword(QString newPassword);
signals:
void nameChanged(QString newName);
void passwordChanged(QString newPassword);
protected:
QString m_name;
QString m_password;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CREATEUSERBYNAME_H

View File

@ -0,0 +1,100 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_CULTUREDTO_H
#define JELLYFIN_DTO_CULTUREDTO_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class CultureDto : public QObject {
Q_OBJECT
public:
explicit CultureDto(QObject *parent = nullptr);
static CultureDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the display name.
*/
Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged)
/**
* @brief Gets or sets the name of the two letter ISO language.
*/
Q_PROPERTY(QString twoLetterISOLanguageName READ twoLetterISOLanguageName WRITE setTwoLetterISOLanguageName NOTIFY twoLetterISOLanguageNameChanged)
/**
* @brief Gets or sets the name of the three letter ISO language.
*/
Q_PROPERTY(QString threeLetterISOLanguageName READ threeLetterISOLanguageName WRITE setThreeLetterISOLanguageName NOTIFY threeLetterISOLanguageNameChanged)
Q_PROPERTY(QStringList threeLetterISOLanguageNames READ threeLetterISOLanguageNames WRITE setThreeLetterISOLanguageNames NOTIFY threeLetterISOLanguageNamesChanged)
QString name() const;
void setName(QString newName);
QString displayName() const;
void setDisplayName(QString newDisplayName);
QString twoLetterISOLanguageName() const;
void setTwoLetterISOLanguageName(QString newTwoLetterISOLanguageName);
QString threeLetterISOLanguageName() const;
void setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName);
QStringList threeLetterISOLanguageNames() const;
void setThreeLetterISOLanguageNames(QStringList newThreeLetterISOLanguageNames);
signals:
void nameChanged(QString newName);
void displayNameChanged(QString newDisplayName);
void twoLetterISOLanguageNameChanged(QString newTwoLetterISOLanguageName);
void threeLetterISOLanguageNameChanged(QString newThreeLetterISOLanguageName);
void threeLetterISOLanguageNamesChanged(QStringList newThreeLetterISOLanguageNames);
protected:
QString m_name;
QString m_displayName;
QString m_twoLetterISOLanguageName;
QString m_threeLetterISOLanguageName;
QStringList m_threeLetterISOLanguageNames;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_CULTUREDTO_H

View File

@ -0,0 +1,59 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DAYOFWEEK_H
#define JELLYFIN_DTO_DAYOFWEEK_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class DayOfWeekClass {
Q_GADGET
public:
enum Value {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
};
Q_ENUM(Value)
private:
explicit DayOfWeekClass();
};
typedef DayOfWeekClass::Value DayOfWeek;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DAYOFWEEK_H

View File

@ -0,0 +1,55 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DAYPATTERN_H
#define JELLYFIN_DTO_DAYPATTERN_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class DayPatternClass {
Q_GADGET
public:
enum Value {
Daily,
Weekdays,
Weekends,
};
Q_ENUM(Value)
private:
explicit DayPatternClass();
};
typedef DayPatternClass::Value DayPattern;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DAYPATTERN_H

View File

@ -0,0 +1,65 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H
#define JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class DefaultDirectoryBrowserInfoDto : public QObject {
Q_OBJECT
public:
explicit DefaultDirectoryBrowserInfoDto(QObject *parent = nullptr);
static DefaultDirectoryBrowserInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the path.
*/
Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
QString path() const;
void setPath(QString newPath);
signals:
void pathChanged(QString newPath);
protected:
QString m_path;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H

View File

@ -0,0 +1,141 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEVICEIDENTIFICATION_H
#define JELLYFIN_DTO_DEVICEIDENTIFICATION_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class HttpHeaderInfo;
class DeviceIdentification : public QObject {
Q_OBJECT
public:
explicit DeviceIdentification(QObject *parent = nullptr);
static DeviceIdentification *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name of the friendly.
*/
Q_PROPERTY(QString friendlyName READ friendlyName WRITE setFriendlyName NOTIFY friendlyNameChanged)
/**
* @brief Gets or sets the model number.
*/
Q_PROPERTY(QString modelNumber READ modelNumber WRITE setModelNumber NOTIFY modelNumberChanged)
/**
* @brief Gets or sets the serial number.
*/
Q_PROPERTY(QString serialNumber READ serialNumber WRITE setSerialNumber NOTIFY serialNumberChanged)
/**
* @brief Gets or sets the name of the model.
*/
Q_PROPERTY(QString modelName READ modelName WRITE setModelName NOTIFY modelNameChanged)
/**
* @brief Gets or sets the model description.
*/
Q_PROPERTY(QString modelDescription READ modelDescription WRITE setModelDescription NOTIFY modelDescriptionChanged)
/**
* @brief Gets or sets the model URL.
*/
Q_PROPERTY(QString modelUrl READ modelUrl WRITE setModelUrl NOTIFY modelUrlChanged)
/**
* @brief Gets or sets the manufacturer.
*/
Q_PROPERTY(QString manufacturer READ manufacturer WRITE setManufacturer NOTIFY manufacturerChanged)
/**
* @brief Gets or sets the manufacturer URL.
*/
Q_PROPERTY(QString manufacturerUrl READ manufacturerUrl WRITE setManufacturerUrl NOTIFY manufacturerUrlChanged)
/**
* @brief Gets or sets the headers.
*/
Q_PROPERTY(QList<HttpHeaderInfo *> headers READ headers WRITE setHeaders NOTIFY headersChanged)
QString friendlyName() const;
void setFriendlyName(QString newFriendlyName);
QString modelNumber() const;
void setModelNumber(QString newModelNumber);
QString serialNumber() const;
void setSerialNumber(QString newSerialNumber);
QString modelName() const;
void setModelName(QString newModelName);
QString modelDescription() const;
void setModelDescription(QString newModelDescription);
QString modelUrl() const;
void setModelUrl(QString newModelUrl);
QString manufacturer() const;
void setManufacturer(QString newManufacturer);
QString manufacturerUrl() const;
void setManufacturerUrl(QString newManufacturerUrl);
QList<HttpHeaderInfo *> headers() const;
void setHeaders(QList<HttpHeaderInfo *> newHeaders);
signals:
void friendlyNameChanged(QString newFriendlyName);
void modelNumberChanged(QString newModelNumber);
void serialNumberChanged(QString newSerialNumber);
void modelNameChanged(QString newModelName);
void modelDescriptionChanged(QString newModelDescription);
void modelUrlChanged(QString newModelUrl);
void manufacturerChanged(QString newManufacturer);
void manufacturerUrlChanged(QString newManufacturerUrl);
void headersChanged(QList<HttpHeaderInfo *> newHeaders);
protected:
QString m_friendlyName;
QString m_modelNumber;
QString m_serialNumber;
QString m_modelName;
QString m_modelDescription;
QString m_modelUrl;
QString m_manufacturer;
QString m_manufacturerUrl;
QList<HttpHeaderInfo *> m_headers;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEVICEIDENTIFICATION_H

View File

@ -0,0 +1,131 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEVICEINFO_H
#define JELLYFIN_DTO_DEVICEINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class ClientCapabilities;
class DeviceInfo : public QObject {
Q_OBJECT
public:
explicit DeviceInfo(QObject *parent = nullptr);
static DeviceInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the identifier.
*/
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets the last name of the user.
*/
Q_PROPERTY(QString lastUserName READ lastUserName WRITE setLastUserName NOTIFY lastUserNameChanged)
/**
* @brief Gets or sets the name of the application.
*/
Q_PROPERTY(QString appName READ appName WRITE setAppName NOTIFY appNameChanged)
/**
* @brief Gets or sets the application version.
*/
Q_PROPERTY(QString appVersion READ appVersion WRITE setAppVersion NOTIFY appVersionChanged)
/**
* @brief Gets or sets the last user identifier.
*/
Q_PROPERTY(QString lastUserId READ lastUserId WRITE setLastUserId NOTIFY lastUserIdChanged)
/**
* @brief Gets or sets the date last modified.
*/
Q_PROPERTY(QDateTime dateLastActivity READ dateLastActivity WRITE setDateLastActivity NOTIFY dateLastActivityChanged)
Q_PROPERTY(ClientCapabilities * capabilities READ capabilities WRITE setCapabilities NOTIFY capabilitiesChanged)
Q_PROPERTY(QString iconUrl READ iconUrl WRITE setIconUrl NOTIFY iconUrlChanged)
QString name() const;
void setName(QString newName);
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
QString lastUserName() const;
void setLastUserName(QString newLastUserName);
QString appName() const;
void setAppName(QString newAppName);
QString appVersion() const;
void setAppVersion(QString newAppVersion);
QString lastUserId() const;
void setLastUserId(QString newLastUserId);
QDateTime dateLastActivity() const;
void setDateLastActivity(QDateTime newDateLastActivity);
ClientCapabilities * capabilities() const;
void setCapabilities(ClientCapabilities * newCapabilities);
QString iconUrl() const;
void setIconUrl(QString newIconUrl);
signals:
void nameChanged(QString newName);
void jellyfinIdChanged(QString newJellyfinId);
void lastUserNameChanged(QString newLastUserName);
void appNameChanged(QString newAppName);
void appVersionChanged(QString newAppVersion);
void lastUserIdChanged(QString newLastUserId);
void dateLastActivityChanged(QDateTime newDateLastActivity);
void capabilitiesChanged(ClientCapabilities * newCapabilities);
void iconUrlChanged(QString newIconUrl);
protected:
QString m_name;
QString m_jellyfinId;
QString m_lastUserName;
QString m_appName;
QString m_appVersion;
QString m_lastUserId;
QDateTime m_dateLastActivity;
ClientCapabilities * m_capabilities = nullptr;
QString m_iconUrl;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEVICEINFO_H

View File

@ -0,0 +1,86 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H
#define JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class DeviceInfo;
class DeviceInfoQueryResult : public QObject {
Q_OBJECT
public:
explicit DeviceInfoQueryResult(QObject *parent = nullptr);
static DeviceInfoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the items.
*/
Q_PROPERTY(QList<DeviceInfo *> items READ items WRITE setItems NOTIFY itemsChanged)
/**
* @brief The total number of records available.
*/
Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged)
/**
* @brief The index of the first record in Items.
*/
Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged)
QList<DeviceInfo *> items() const;
void setItems(QList<DeviceInfo *> newItems);
qint32 totalRecordCount() const;
void setTotalRecordCount(qint32 newTotalRecordCount);
qint32 startIndex() const;
void setStartIndex(qint32 newStartIndex);
signals:
void itemsChanged(QList<DeviceInfo *> newItems);
void totalRecordCountChanged(qint32 newTotalRecordCount);
void startIndexChanged(qint32 newStartIndex);
protected:
QList<DeviceInfo *> m_items;
qint32 m_totalRecordCount;
qint32 m_startIndex;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H

View File

@ -0,0 +1,62 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEVICEOPTIONS_H
#define JELLYFIN_DTO_DEVICEOPTIONS_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class DeviceOptions : public QObject {
Q_OBJECT
public:
explicit DeviceOptions(QObject *parent = nullptr);
static DeviceOptions *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(QString customName READ customName WRITE setCustomName NOTIFY customNameChanged)
QString customName() const;
void setCustomName(QString newCustomName);
signals:
void customNameChanged(QString newCustomName);
protected:
QString m_customName;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEVICEOPTIONS_H

View File

@ -0,0 +1,415 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEVICEPROFILE_H
#define JELLYFIN_DTO_DEVICEPROFILE_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
namespace Jellyfin {
namespace DTO {
class CodecProfile;
class ContainerProfile;
class DeviceIdentification;
class DirectPlayProfile;
class ResponseProfile;
class SubtitleProfile;
class TranscodingProfile;
class XmlAttribute;
class DeviceProfile : public QObject {
Q_OBJECT
public:
explicit DeviceProfile(QObject *parent = nullptr);
static DeviceProfile *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the Name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the Id.
*/
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
Q_PROPERTY(DeviceIdentification * identification READ identification WRITE setIdentification NOTIFY identificationChanged)
/**
* @brief Gets or sets the FriendlyName.
*/
Q_PROPERTY(QString friendlyName READ friendlyName WRITE setFriendlyName NOTIFY friendlyNameChanged)
/**
* @brief Gets or sets the Manufacturer.
*/
Q_PROPERTY(QString manufacturer READ manufacturer WRITE setManufacturer NOTIFY manufacturerChanged)
/**
* @brief Gets or sets the ManufacturerUrl.
*/
Q_PROPERTY(QString manufacturerUrl READ manufacturerUrl WRITE setManufacturerUrl NOTIFY manufacturerUrlChanged)
/**
* @brief Gets or sets the ModelName.
*/
Q_PROPERTY(QString modelName READ modelName WRITE setModelName NOTIFY modelNameChanged)
/**
* @brief Gets or sets the ModelDescription.
*/
Q_PROPERTY(QString modelDescription READ modelDescription WRITE setModelDescription NOTIFY modelDescriptionChanged)
/**
* @brief Gets or sets the ModelNumber.
*/
Q_PROPERTY(QString modelNumber READ modelNumber WRITE setModelNumber NOTIFY modelNumberChanged)
/**
* @brief Gets or sets the ModelUrl.
*/
Q_PROPERTY(QString modelUrl READ modelUrl WRITE setModelUrl NOTIFY modelUrlChanged)
/**
* @brief Gets or sets the SerialNumber.
*/
Q_PROPERTY(QString serialNumber READ serialNumber WRITE setSerialNumber NOTIFY serialNumberChanged)
/**
* @brief Gets or sets a value indicating whether EnableAlbumArtInDidl.
*/
Q_PROPERTY(bool enableAlbumArtInDidl READ enableAlbumArtInDidl WRITE setEnableAlbumArtInDidl NOTIFY enableAlbumArtInDidlChanged)
/**
* @brief Gets or sets a value indicating whether EnableSingleAlbumArtLimit.
*/
Q_PROPERTY(bool enableSingleAlbumArtLimit READ enableSingleAlbumArtLimit WRITE setEnableSingleAlbumArtLimit NOTIFY enableSingleAlbumArtLimitChanged)
/**
* @brief Gets or sets a value indicating whether EnableSingleSubtitleLimit.
*/
Q_PROPERTY(bool enableSingleSubtitleLimit READ enableSingleSubtitleLimit WRITE setEnableSingleSubtitleLimit NOTIFY enableSingleSubtitleLimitChanged)
/**
* @brief Gets or sets the SupportedMediaTypes.
*/
Q_PROPERTY(QString supportedMediaTypes READ supportedMediaTypes WRITE setSupportedMediaTypes NOTIFY supportedMediaTypesChanged)
/**
* @brief Gets or sets the UserId.
*/
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
/**
* @brief Gets or sets the AlbumArtPn.
*/
Q_PROPERTY(QString albumArtPn READ albumArtPn WRITE setAlbumArtPn NOTIFY albumArtPnChanged)
/**
* @brief Gets or sets the MaxAlbumArtWidth.
*/
Q_PROPERTY(qint32 maxAlbumArtWidth READ maxAlbumArtWidth WRITE setMaxAlbumArtWidth NOTIFY maxAlbumArtWidthChanged)
/**
* @brief Gets or sets the MaxAlbumArtHeight.
*/
Q_PROPERTY(qint32 maxAlbumArtHeight READ maxAlbumArtHeight WRITE setMaxAlbumArtHeight NOTIFY maxAlbumArtHeightChanged)
/**
* @brief Gets or sets the MaxIconWidth.
*/
Q_PROPERTY(qint32 maxIconWidth READ maxIconWidth WRITE setMaxIconWidth NOTIFY maxIconWidthChanged)
/**
* @brief Gets or sets the MaxIconHeight.
*/
Q_PROPERTY(qint32 maxIconHeight READ maxIconHeight WRITE setMaxIconHeight NOTIFY maxIconHeightChanged)
/**
* @brief Gets or sets the MaxStreamingBitrate.
*/
Q_PROPERTY(qint32 maxStreamingBitrate READ maxStreamingBitrate WRITE setMaxStreamingBitrate NOTIFY maxStreamingBitrateChanged)
/**
* @brief Gets or sets the MaxStaticBitrate.
*/
Q_PROPERTY(qint32 maxStaticBitrate READ maxStaticBitrate WRITE setMaxStaticBitrate NOTIFY maxStaticBitrateChanged)
/**
* @brief Gets or sets the MusicStreamingTranscodingBitrate.
*/
Q_PROPERTY(qint32 musicStreamingTranscodingBitrate READ musicStreamingTranscodingBitrate WRITE setMusicStreamingTranscodingBitrate NOTIFY musicStreamingTranscodingBitrateChanged)
/**
* @brief Gets or sets the MaxStaticMusicBitrate.
*/
Q_PROPERTY(qint32 maxStaticMusicBitrate READ maxStaticMusicBitrate WRITE setMaxStaticMusicBitrate NOTIFY maxStaticMusicBitrateChanged)
/**
* @brief Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
*/
Q_PROPERTY(QString sonyAggregationFlags READ sonyAggregationFlags WRITE setSonyAggregationFlags NOTIFY sonyAggregationFlagsChanged)
/**
* @brief Gets or sets the ProtocolInfo.
*/
Q_PROPERTY(QString protocolInfo READ protocolInfo WRITE setProtocolInfo NOTIFY protocolInfoChanged)
/**
* @brief Gets or sets the TimelineOffsetSeconds.
*/
Q_PROPERTY(qint32 timelineOffsetSeconds READ timelineOffsetSeconds WRITE setTimelineOffsetSeconds NOTIFY timelineOffsetSecondsChanged)
/**
* @brief Gets or sets a value indicating whether RequiresPlainVideoItems.
*/
Q_PROPERTY(bool requiresPlainVideoItems READ requiresPlainVideoItems WRITE setRequiresPlainVideoItems NOTIFY requiresPlainVideoItemsChanged)
/**
* @brief Gets or sets a value indicating whether RequiresPlainFolders.
*/
Q_PROPERTY(bool requiresPlainFolders READ requiresPlainFolders WRITE setRequiresPlainFolders NOTIFY requiresPlainFoldersChanged)
/**
* @brief Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar.
*/
Q_PROPERTY(bool enableMSMediaReceiverRegistrar READ enableMSMediaReceiverRegistrar WRITE setEnableMSMediaReceiverRegistrar NOTIFY enableMSMediaReceiverRegistrarChanged)
/**
* @brief Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests.
*/
Q_PROPERTY(bool ignoreTranscodeByteRangeRequests READ ignoreTranscodeByteRangeRequests WRITE setIgnoreTranscodeByteRangeRequests NOTIFY ignoreTranscodeByteRangeRequestsChanged)
/**
* @brief Gets or sets the XmlRootAttributes.
*/
Q_PROPERTY(QList<XmlAttribute *> xmlRootAttributes READ xmlRootAttributes WRITE setXmlRootAttributes NOTIFY xmlRootAttributesChanged)
/**
* @brief Gets or sets the direct play profiles.
*/
Q_PROPERTY(QList<DirectPlayProfile *> directPlayProfiles READ directPlayProfiles WRITE setDirectPlayProfiles NOTIFY directPlayProfilesChanged)
/**
* @brief Gets or sets the transcoding profiles.
*/
Q_PROPERTY(QList<TranscodingProfile *> transcodingProfiles READ transcodingProfiles WRITE setTranscodingProfiles NOTIFY transcodingProfilesChanged)
/**
* @brief Gets or sets the ContainerProfiles.
*/
Q_PROPERTY(QList<ContainerProfile *> containerProfiles READ containerProfiles WRITE setContainerProfiles NOTIFY containerProfilesChanged)
/**
* @brief Gets or sets the CodecProfiles.
*/
Q_PROPERTY(QList<CodecProfile *> codecProfiles READ codecProfiles WRITE setCodecProfiles NOTIFY codecProfilesChanged)
/**
* @brief Gets or sets the ResponseProfiles.
*/
Q_PROPERTY(QList<ResponseProfile *> responseProfiles READ responseProfiles WRITE setResponseProfiles NOTIFY responseProfilesChanged)
/**
* @brief Gets or sets the SubtitleProfiles.
*/
Q_PROPERTY(QList<SubtitleProfile *> subtitleProfiles READ subtitleProfiles WRITE setSubtitleProfiles NOTIFY subtitleProfilesChanged)
QString name() const;
void setName(QString newName);
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
DeviceIdentification * identification() const;
void setIdentification(DeviceIdentification * newIdentification);
QString friendlyName() const;
void setFriendlyName(QString newFriendlyName);
QString manufacturer() const;
void setManufacturer(QString newManufacturer);
QString manufacturerUrl() const;
void setManufacturerUrl(QString newManufacturerUrl);
QString modelName() const;
void setModelName(QString newModelName);
QString modelDescription() const;
void setModelDescription(QString newModelDescription);
QString modelNumber() const;
void setModelNumber(QString newModelNumber);
QString modelUrl() const;
void setModelUrl(QString newModelUrl);
QString serialNumber() const;
void setSerialNumber(QString newSerialNumber);
bool enableAlbumArtInDidl() const;
void setEnableAlbumArtInDidl(bool newEnableAlbumArtInDidl);
bool enableSingleAlbumArtLimit() const;
void setEnableSingleAlbumArtLimit(bool newEnableSingleAlbumArtLimit);
bool enableSingleSubtitleLimit() const;
void setEnableSingleSubtitleLimit(bool newEnableSingleSubtitleLimit);
QString supportedMediaTypes() const;
void setSupportedMediaTypes(QString newSupportedMediaTypes);
QString userId() const;
void setUserId(QString newUserId);
QString albumArtPn() const;
void setAlbumArtPn(QString newAlbumArtPn);
qint32 maxAlbumArtWidth() const;
void setMaxAlbumArtWidth(qint32 newMaxAlbumArtWidth);
qint32 maxAlbumArtHeight() const;
void setMaxAlbumArtHeight(qint32 newMaxAlbumArtHeight);
qint32 maxIconWidth() const;
void setMaxIconWidth(qint32 newMaxIconWidth);
qint32 maxIconHeight() const;
void setMaxIconHeight(qint32 newMaxIconHeight);
qint32 maxStreamingBitrate() const;
void setMaxStreamingBitrate(qint32 newMaxStreamingBitrate);
qint32 maxStaticBitrate() const;
void setMaxStaticBitrate(qint32 newMaxStaticBitrate);
qint32 musicStreamingTranscodingBitrate() const;
void setMusicStreamingTranscodingBitrate(qint32 newMusicStreamingTranscodingBitrate);
qint32 maxStaticMusicBitrate() const;
void setMaxStaticMusicBitrate(qint32 newMaxStaticMusicBitrate);
QString sonyAggregationFlags() const;
void setSonyAggregationFlags(QString newSonyAggregationFlags);
QString protocolInfo() const;
void setProtocolInfo(QString newProtocolInfo);
qint32 timelineOffsetSeconds() const;
void setTimelineOffsetSeconds(qint32 newTimelineOffsetSeconds);
bool requiresPlainVideoItems() const;
void setRequiresPlainVideoItems(bool newRequiresPlainVideoItems);
bool requiresPlainFolders() const;
void setRequiresPlainFolders(bool newRequiresPlainFolders);
bool enableMSMediaReceiverRegistrar() const;
void setEnableMSMediaReceiverRegistrar(bool newEnableMSMediaReceiverRegistrar);
bool ignoreTranscodeByteRangeRequests() const;
void setIgnoreTranscodeByteRangeRequests(bool newIgnoreTranscodeByteRangeRequests);
QList<XmlAttribute *> xmlRootAttributes() const;
void setXmlRootAttributes(QList<XmlAttribute *> newXmlRootAttributes);
QList<DirectPlayProfile *> directPlayProfiles() const;
void setDirectPlayProfiles(QList<DirectPlayProfile *> newDirectPlayProfiles);
QList<TranscodingProfile *> transcodingProfiles() const;
void setTranscodingProfiles(QList<TranscodingProfile *> newTranscodingProfiles);
QList<ContainerProfile *> containerProfiles() const;
void setContainerProfiles(QList<ContainerProfile *> newContainerProfiles);
QList<CodecProfile *> codecProfiles() const;
void setCodecProfiles(QList<CodecProfile *> newCodecProfiles);
QList<ResponseProfile *> responseProfiles() const;
void setResponseProfiles(QList<ResponseProfile *> newResponseProfiles);
QList<SubtitleProfile *> subtitleProfiles() const;
void setSubtitleProfiles(QList<SubtitleProfile *> newSubtitleProfiles);
signals:
void nameChanged(QString newName);
void jellyfinIdChanged(QString newJellyfinId);
void identificationChanged(DeviceIdentification * newIdentification);
void friendlyNameChanged(QString newFriendlyName);
void manufacturerChanged(QString newManufacturer);
void manufacturerUrlChanged(QString newManufacturerUrl);
void modelNameChanged(QString newModelName);
void modelDescriptionChanged(QString newModelDescription);
void modelNumberChanged(QString newModelNumber);
void modelUrlChanged(QString newModelUrl);
void serialNumberChanged(QString newSerialNumber);
void enableAlbumArtInDidlChanged(bool newEnableAlbumArtInDidl);
void enableSingleAlbumArtLimitChanged(bool newEnableSingleAlbumArtLimit);
void enableSingleSubtitleLimitChanged(bool newEnableSingleSubtitleLimit);
void supportedMediaTypesChanged(QString newSupportedMediaTypes);
void userIdChanged(QString newUserId);
void albumArtPnChanged(QString newAlbumArtPn);
void maxAlbumArtWidthChanged(qint32 newMaxAlbumArtWidth);
void maxAlbumArtHeightChanged(qint32 newMaxAlbumArtHeight);
void maxIconWidthChanged(qint32 newMaxIconWidth);
void maxIconHeightChanged(qint32 newMaxIconHeight);
void maxStreamingBitrateChanged(qint32 newMaxStreamingBitrate);
void maxStaticBitrateChanged(qint32 newMaxStaticBitrate);
void musicStreamingTranscodingBitrateChanged(qint32 newMusicStreamingTranscodingBitrate);
void maxStaticMusicBitrateChanged(qint32 newMaxStaticMusicBitrate);
void sonyAggregationFlagsChanged(QString newSonyAggregationFlags);
void protocolInfoChanged(QString newProtocolInfo);
void timelineOffsetSecondsChanged(qint32 newTimelineOffsetSeconds);
void requiresPlainVideoItemsChanged(bool newRequiresPlainVideoItems);
void requiresPlainFoldersChanged(bool newRequiresPlainFolders);
void enableMSMediaReceiverRegistrarChanged(bool newEnableMSMediaReceiverRegistrar);
void ignoreTranscodeByteRangeRequestsChanged(bool newIgnoreTranscodeByteRangeRequests);
void xmlRootAttributesChanged(QList<XmlAttribute *> newXmlRootAttributes);
void directPlayProfilesChanged(QList<DirectPlayProfile *> newDirectPlayProfiles);
void transcodingProfilesChanged(QList<TranscodingProfile *> newTranscodingProfiles);
void containerProfilesChanged(QList<ContainerProfile *> newContainerProfiles);
void codecProfilesChanged(QList<CodecProfile *> newCodecProfiles);
void responseProfilesChanged(QList<ResponseProfile *> newResponseProfiles);
void subtitleProfilesChanged(QList<SubtitleProfile *> newSubtitleProfiles);
protected:
QString m_name;
QString m_jellyfinId;
DeviceIdentification * m_identification = nullptr;
QString m_friendlyName;
QString m_manufacturer;
QString m_manufacturerUrl;
QString m_modelName;
QString m_modelDescription;
QString m_modelNumber;
QString m_modelUrl;
QString m_serialNumber;
bool m_enableAlbumArtInDidl;
bool m_enableSingleAlbumArtLimit;
bool m_enableSingleSubtitleLimit;
QString m_supportedMediaTypes;
QString m_userId;
QString m_albumArtPn;
qint32 m_maxAlbumArtWidth;
qint32 m_maxAlbumArtHeight;
qint32 m_maxIconWidth;
qint32 m_maxIconHeight;
qint32 m_maxStreamingBitrate;
qint32 m_maxStaticBitrate;
qint32 m_musicStreamingTranscodingBitrate;
qint32 m_maxStaticMusicBitrate;
QString m_sonyAggregationFlags;
QString m_protocolInfo;
qint32 m_timelineOffsetSeconds;
bool m_requiresPlainVideoItems;
bool m_requiresPlainFolders;
bool m_enableMSMediaReceiverRegistrar;
bool m_ignoreTranscodeByteRangeRequests;
QList<XmlAttribute *> m_xmlRootAttributes;
QList<DirectPlayProfile *> m_directPlayProfiles;
QList<TranscodingProfile *> m_transcodingProfiles;
QList<ContainerProfile *> m_containerProfiles;
QList<CodecProfile *> m_codecProfiles;
QList<ResponseProfile *> m_responseProfiles;
QList<SubtitleProfile *> m_subtitleProfiles;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEVICEPROFILE_H

View File

@ -0,0 +1,82 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEVICEPROFILEINFO_H
#define JELLYFIN_DTO_DEVICEPROFILEINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/deviceprofiletype.h"
namespace Jellyfin {
namespace DTO {
class DeviceProfileInfo : public QObject {
Q_OBJECT
public:
explicit DeviceProfileInfo(QObject *parent = nullptr);
static DeviceProfileInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the identifier.
*/
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(DeviceProfileType type READ type WRITE setType NOTIFY typeChanged)
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
QString name() const;
void setName(QString newName);
DeviceProfileType type() const;
void setType(DeviceProfileType newType);
signals:
void jellyfinIdChanged(QString newJellyfinId);
void nameChanged(QString newName);
void typeChanged(DeviceProfileType newType);
protected:
QString m_jellyfinId;
QString m_name;
DeviceProfileType m_type;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEVICEPROFILEINFO_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DEVICEPROFILETYPE_H
#define JELLYFIN_DTO_DEVICEPROFILETYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class DeviceProfileTypeClass {
Q_GADGET
public:
enum Value {
System,
User,
};
Q_ENUM(Value)
private:
explicit DeviceProfileTypeClass();
};
typedef DeviceProfileTypeClass::Value DeviceProfileType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DEVICEPROFILETYPE_H

View File

@ -0,0 +1,82 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DIRECTPLAYPROFILE_H
#define JELLYFIN_DTO_DIRECTPLAYPROFILE_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/dlnaprofiletype.h"
namespace Jellyfin {
namespace DTO {
class DirectPlayProfile : public QObject {
Q_OBJECT
public:
explicit DirectPlayProfile(QObject *parent = nullptr);
static DirectPlayProfile *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged)
Q_PROPERTY(QString audioCodec READ audioCodec WRITE setAudioCodec NOTIFY audioCodecChanged)
Q_PROPERTY(QString videoCodec READ videoCodec WRITE setVideoCodec NOTIFY videoCodecChanged)
Q_PROPERTY(DlnaProfileType type READ type WRITE setType NOTIFY typeChanged)
QString container() const;
void setContainer(QString newContainer);
QString audioCodec() const;
void setAudioCodec(QString newAudioCodec);
QString videoCodec() const;
void setVideoCodec(QString newVideoCodec);
DlnaProfileType type() const;
void setType(DlnaProfileType newType);
signals:
void containerChanged(QString newContainer);
void audioCodecChanged(QString newAudioCodec);
void videoCodecChanged(QString newVideoCodec);
void typeChanged(DlnaProfileType newType);
protected:
QString m_container;
QString m_audioCodec;
QString m_videoCodec;
DlnaProfileType m_type;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DIRECTPLAYPROFILE_H

View File

@ -0,0 +1,179 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H
#define JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/scrolldirection.h"
#include "JellyfinQt/DTO/sortorder.h"
namespace Jellyfin {
namespace DTO {
class DisplayPreferencesDto : public QObject {
Q_OBJECT
public:
explicit DisplayPreferencesDto(QObject *parent = nullptr);
static DisplayPreferencesDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the user id.
*/
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
/**
* @brief Gets or sets the type of the view.
*/
Q_PROPERTY(QString viewType READ viewType WRITE setViewType NOTIFY viewTypeChanged)
/**
* @brief Gets or sets the sort by.
*/
Q_PROPERTY(QString sortBy READ sortBy WRITE setSortBy NOTIFY sortByChanged)
/**
* @brief Gets or sets the index by.
*/
Q_PROPERTY(QString indexBy READ indexBy WRITE setIndexBy NOTIFY indexByChanged)
/**
* @brief Gets or sets a value indicating whether [remember indexing].
*/
Q_PROPERTY(bool rememberIndexing READ rememberIndexing WRITE setRememberIndexing NOTIFY rememberIndexingChanged)
/**
* @brief Gets or sets the height of the primary image.
*/
Q_PROPERTY(qint32 primaryImageHeight READ primaryImageHeight WRITE setPrimaryImageHeight NOTIFY primaryImageHeightChanged)
/**
* @brief Gets or sets the width of the primary image.
*/
Q_PROPERTY(qint32 primaryImageWidth READ primaryImageWidth WRITE setPrimaryImageWidth NOTIFY primaryImageWidthChanged)
/**
* @brief Gets or sets the custom prefs.
*/
Q_PROPERTY(QJsonObject customPrefs READ customPrefs WRITE setCustomPrefs NOTIFY customPrefsChanged)
Q_PROPERTY(ScrollDirection scrollDirection READ scrollDirection WRITE setScrollDirection NOTIFY scrollDirectionChanged)
/**
* @brief Gets or sets a value indicating whether to show backdrops on this item.
*/
Q_PROPERTY(bool showBackdrop READ showBackdrop WRITE setShowBackdrop NOTIFY showBackdropChanged)
/**
* @brief Gets or sets a value indicating whether [remember sorting].
*/
Q_PROPERTY(bool rememberSorting READ rememberSorting WRITE setRememberSorting NOTIFY rememberSortingChanged)
Q_PROPERTY(SortOrder sortOrder READ sortOrder WRITE setSortOrder NOTIFY sortOrderChanged)
/**
* @brief Gets or sets a value indicating whether [show sidebar].
*/
Q_PROPERTY(bool showSidebar READ showSidebar WRITE setShowSidebar NOTIFY showSidebarChanged)
/**
* @brief Gets or sets the client.
*/
Q_PROPERTY(QString client READ client WRITE setClient NOTIFY clientChanged)
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
QString viewType() const;
void setViewType(QString newViewType);
QString sortBy() const;
void setSortBy(QString newSortBy);
QString indexBy() const;
void setIndexBy(QString newIndexBy);
bool rememberIndexing() const;
void setRememberIndexing(bool newRememberIndexing);
qint32 primaryImageHeight() const;
void setPrimaryImageHeight(qint32 newPrimaryImageHeight);
qint32 primaryImageWidth() const;
void setPrimaryImageWidth(qint32 newPrimaryImageWidth);
QJsonObject customPrefs() const;
void setCustomPrefs(QJsonObject newCustomPrefs);
ScrollDirection scrollDirection() const;
void setScrollDirection(ScrollDirection newScrollDirection);
bool showBackdrop() const;
void setShowBackdrop(bool newShowBackdrop);
bool rememberSorting() const;
void setRememberSorting(bool newRememberSorting);
SortOrder sortOrder() const;
void setSortOrder(SortOrder newSortOrder);
bool showSidebar() const;
void setShowSidebar(bool newShowSidebar);
QString client() const;
void setClient(QString newClient);
signals:
void jellyfinIdChanged(QString newJellyfinId);
void viewTypeChanged(QString newViewType);
void sortByChanged(QString newSortBy);
void indexByChanged(QString newIndexBy);
void rememberIndexingChanged(bool newRememberIndexing);
void primaryImageHeightChanged(qint32 newPrimaryImageHeight);
void primaryImageWidthChanged(qint32 newPrimaryImageWidth);
void customPrefsChanged(QJsonObject newCustomPrefs);
void scrollDirectionChanged(ScrollDirection newScrollDirection);
void showBackdropChanged(bool newShowBackdrop);
void rememberSortingChanged(bool newRememberSorting);
void sortOrderChanged(SortOrder newSortOrder);
void showSidebarChanged(bool newShowSidebar);
void clientChanged(QString newClient);
protected:
QString m_jellyfinId;
QString m_viewType;
QString m_sortBy;
QString m_indexBy;
bool m_rememberIndexing;
qint32 m_primaryImageHeight;
qint32 m_primaryImageWidth;
QJsonObject m_customPrefs;
ScrollDirection m_scrollDirection;
bool m_showBackdrop;
bool m_rememberSorting;
SortOrder m_sortOrder;
bool m_showSidebar;
QString m_client;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H

View File

@ -0,0 +1,55 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DLNAPROFILETYPE_H
#define JELLYFIN_DTO_DLNAPROFILETYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class DlnaProfileTypeClass {
Q_GADGET
public:
enum Value {
Audio,
Video,
Photo,
};
Q_ENUM(Value)
private:
explicit DlnaProfileTypeClass();
};
typedef DlnaProfileTypeClass::Value DlnaProfileType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DLNAPROFILETYPE_H

View File

@ -0,0 +1,62 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_DYNAMICDAYOFWEEK_H
#define JELLYFIN_DTO_DYNAMICDAYOFWEEK_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class DynamicDayOfWeekClass {
Q_GADGET
public:
enum Value {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Everyday,
Weekday,
Weekend,
};
Q_ENUM(Value)
private:
explicit DynamicDayOfWeekClass();
};
typedef DynamicDayOfWeekClass::Value DynamicDayOfWeek;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_DYNAMICDAYOFWEEK_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ENCODINGCONTEXT_H
#define JELLYFIN_DTO_ENCODINGCONTEXT_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class EncodingContextClass {
Q_GADGET
public:
enum Value {
Streaming,
Static,
};
Q_ENUM(Value)
private:
explicit EncodingContextClass();
};
typedef EncodingContextClass::Value EncodingContext;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ENCODINGCONTEXT_H

View File

@ -0,0 +1,67 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ENDPOINTINFO_H
#define JELLYFIN_DTO_ENDPOINTINFO_H
#include <QJsonObject>
#include <QObject>
namespace Jellyfin {
namespace DTO {
class EndPointInfo : public QObject {
Q_OBJECT
public:
explicit EndPointInfo(QObject *parent = nullptr);
static EndPointInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(bool isLocal READ isLocal WRITE setIsLocal NOTIFY isLocalChanged)
Q_PROPERTY(bool isInNetwork READ isInNetwork WRITE setIsInNetwork NOTIFY isInNetworkChanged)
bool isLocal() const;
void setIsLocal(bool newIsLocal);
bool isInNetwork() const;
void setIsInNetwork(bool newIsInNetwork);
signals:
void isLocalChanged(bool newIsLocal);
void isInNetworkChanged(bool newIsInNetwork);
protected:
bool m_isLocal;
bool m_isInNetwork;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ENDPOINTINFO_H

View File

@ -0,0 +1,91 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_EXTERNALIDINFO_H
#define JELLYFIN_DTO_EXTERNALIDINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/externalidmediatype.h"
namespace Jellyfin {
namespace DTO {
class ExternalIdInfo : public QObject {
Q_OBJECT
public:
explicit ExternalIdInfo(QObject *parent = nullptr);
static ExternalIdInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc).
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the unique key for this id. This key should be unique across all providers.
*/
Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged)
Q_PROPERTY(ExternalIdMediaType type READ type WRITE setType NOTIFY typeChanged)
/**
* @brief Gets or sets the URL format string.
*/
Q_PROPERTY(QString urlFormatString READ urlFormatString WRITE setUrlFormatString NOTIFY urlFormatStringChanged)
QString name() const;
void setName(QString newName);
QString key() const;
void setKey(QString newKey);
ExternalIdMediaType type() const;
void setType(ExternalIdMediaType newType);
QString urlFormatString() const;
void setUrlFormatString(QString newUrlFormatString);
signals:
void nameChanged(QString newName);
void keyChanged(QString newKey);
void typeChanged(ExternalIdMediaType newType);
void urlFormatStringChanged(QString newUrlFormatString);
protected:
QString m_name;
QString m_key;
ExternalIdMediaType m_type;
QString m_urlFormatString;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_EXTERNALIDINFO_H

View File

@ -0,0 +1,64 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H
#define JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ExternalIdMediaTypeClass {
Q_GADGET
public:
enum Value {
Album,
AlbumArtist,
Artist,
BoxSet,
Episode,
Movie,
OtherArtist,
Person,
ReleaseGroup,
Season,
Series,
Track,
};
Q_ENUM(Value)
private:
explicit ExternalIdMediaTypeClass();
};
typedef ExternalIdMediaTypeClass::Value ExternalIdMediaType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H

View File

@ -0,0 +1,74 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_EXTERNALURL_H
#define JELLYFIN_DTO_EXTERNALURL_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class ExternalUrl : public QObject {
Q_OBJECT
public:
explicit ExternalUrl(QObject *parent = nullptr);
static ExternalUrl *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the type of the item.
*/
Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged)
QString name() const;
void setName(QString newName);
QString url() const;
void setUrl(QString newUrl);
signals:
void nameChanged(QString newName);
void urlChanged(QString newUrl);
protected:
QString m_name;
QString m_url;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_EXTERNALURL_H

View File

@ -0,0 +1,56 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_FFMPEGLOCATION_H
#define JELLYFIN_DTO_FFMPEGLOCATION_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class FFmpegLocationClass {
Q_GADGET
public:
enum Value {
NotFound,
SetByArgument,
Custom,
System,
};
Q_ENUM(Value)
private:
explicit FFmpegLocationClass();
};
typedef FFmpegLocationClass::Value FFmpegLocation;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_FFMPEGLOCATION_H

View File

@ -0,0 +1,82 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_FILESYSTEMENTRYINFO_H
#define JELLYFIN_DTO_FILESYSTEMENTRYINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/filesystementrytype.h"
namespace Jellyfin {
namespace DTO {
class FileSystemEntryInfo : public QObject {
Q_OBJECT
public:
explicit FileSystemEntryInfo(QObject *parent = nullptr);
static FileSystemEntryInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets the path.
*/
Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
Q_PROPERTY(FileSystemEntryType type READ type WRITE setType NOTIFY typeChanged)
QString name() const;
void setName(QString newName);
QString path() const;
void setPath(QString newPath);
FileSystemEntryType type() const;
void setType(FileSystemEntryType newType);
signals:
void nameChanged(QString newName);
void pathChanged(QString newPath);
void typeChanged(FileSystemEntryType newType);
protected:
QString m_name;
QString m_path;
FileSystemEntryType m_type;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_FILESYSTEMENTRYINFO_H

View File

@ -0,0 +1,56 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H
#define JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class FileSystemEntryTypeClass {
Q_GADGET
public:
enum Value {
File,
Directory,
NetworkComputer,
NetworkShare,
};
Q_ENUM(Value)
private:
explicit FileSystemEntryTypeClass();
};
typedef FileSystemEntryTypeClass::Value FileSystemEntryType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H

View File

@ -0,0 +1,93 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_FONTFILE_H
#define JELLYFIN_DTO_FONTFILE_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class FontFile : public QObject {
Q_OBJECT
public:
explicit FontFile(QObject *parent = nullptr);
static FontFile *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the size.
*/
Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged)
/**
* @brief Gets or sets the date created.
*/
Q_PROPERTY(QDateTime dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged)
/**
* @brief Gets or sets the date modified.
*/
Q_PROPERTY(QDateTime dateModified READ dateModified WRITE setDateModified NOTIFY dateModifiedChanged)
QString name() const;
void setName(QString newName);
qint64 size() const;
void setSize(qint64 newSize);
QDateTime dateCreated() const;
void setDateCreated(QDateTime newDateCreated);
QDateTime dateModified() const;
void setDateModified(QDateTime newDateModified);
signals:
void nameChanged(QString newName);
void sizeChanged(qint64 newSize);
void dateCreatedChanged(QDateTime newDateCreated);
void dateModifiedChanged(QDateTime newDateModified);
protected:
QString m_name;
qint64 m_size;
QDateTime m_dateCreated;
QDateTime m_dateModified;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_FONTFILE_H

View File

@ -0,0 +1,55 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_FORGOTPASSWORDACTION_H
#define JELLYFIN_DTO_FORGOTPASSWORDACTION_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ForgotPasswordActionClass {
Q_GADGET
public:
enum Value {
ContactAdmin,
PinCode,
InNetworkRequired,
};
Q_ENUM(Value)
private:
explicit ForgotPasswordActionClass();
};
typedef ForgotPasswordActionClass::Value ForgotPasswordAction;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_FORGOTPASSWORDACTION_H

View File

@ -0,0 +1,65 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_FORGOTPASSWORDDTO_H
#define JELLYFIN_DTO_FORGOTPASSWORDDTO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class ForgotPasswordDto : public QObject {
Q_OBJECT
public:
explicit ForgotPasswordDto(QObject *parent = nullptr);
static ForgotPasswordDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the entered username to have its password reset.
*/
Q_PROPERTY(QString enteredUsername READ enteredUsername WRITE setEnteredUsername NOTIFY enteredUsernameChanged)
QString enteredUsername() const;
void setEnteredUsername(QString newEnteredUsername);
signals:
void enteredUsernameChanged(QString newEnteredUsername);
protected:
QString m_enteredUsername;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_FORGOTPASSWORDDTO_H

View File

@ -0,0 +1,83 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_FORGOTPASSWORDRESULT_H
#define JELLYFIN_DTO_FORGOTPASSWORDRESULT_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/forgotpasswordaction.h"
namespace Jellyfin {
namespace DTO {
class ForgotPasswordResult : public QObject {
Q_OBJECT
public:
explicit ForgotPasswordResult(QObject *parent = nullptr);
static ForgotPasswordResult *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(ForgotPasswordAction action READ action WRITE setAction NOTIFY actionChanged)
/**
* @brief Gets or sets the pin file.
*/
Q_PROPERTY(QString pinFile READ pinFile WRITE setPinFile NOTIFY pinFileChanged)
/**
* @brief Gets or sets the pin expiration date.
*/
Q_PROPERTY(QDateTime pinExpirationDate READ pinExpirationDate WRITE setPinExpirationDate NOTIFY pinExpirationDateChanged)
ForgotPasswordAction action() const;
void setAction(ForgotPasswordAction newAction);
QString pinFile() const;
void setPinFile(QString newPinFile);
QDateTime pinExpirationDate() const;
void setPinExpirationDate(QDateTime newPinExpirationDate);
signals:
void actionChanged(ForgotPasswordAction newAction);
void pinFileChanged(QString newPinFile);
void pinExpirationDateChanged(QDateTime newPinExpirationDate);
protected:
ForgotPasswordAction m_action;
QString m_pinFile;
QDateTime m_pinExpirationDate;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_FORGOTPASSWORDRESULT_H

View File

@ -0,0 +1,76 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GENERALCOMMAND_H
#define JELLYFIN_DTO_GENERALCOMMAND_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/generalcommandtype.h"
namespace Jellyfin {
namespace DTO {
class GeneralCommand : public QObject {
Q_OBJECT
public:
explicit GeneralCommand(QObject *parent = nullptr);
static GeneralCommand *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(GeneralCommandType name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(QString controllingUserId READ controllingUserId WRITE setControllingUserId NOTIFY controllingUserIdChanged)
Q_PROPERTY(QJsonObject arguments READ arguments WRITE setArguments NOTIFY argumentsChanged)
GeneralCommandType name() const;
void setName(GeneralCommandType newName);
QString controllingUserId() const;
void setControllingUserId(QString newControllingUserId);
QJsonObject arguments() const;
void setArguments(QJsonObject newArguments);
signals:
void nameChanged(GeneralCommandType newName);
void controllingUserIdChanged(QString newControllingUserId);
void argumentsChanged(QJsonObject newArguments);
protected:
GeneralCommandType m_name;
QString m_controllingUserId;
QJsonObject m_arguments;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GENERALCOMMAND_H

View File

@ -0,0 +1,93 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GENERALCOMMANDTYPE_H
#define JELLYFIN_DTO_GENERALCOMMANDTYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class GeneralCommandTypeClass {
Q_GADGET
public:
enum Value {
MoveUp,
MoveDown,
MoveLeft,
MoveRight,
PageUp,
PageDown,
PreviousLetter,
NextLetter,
ToggleOsd,
ToggleContextMenu,
Select,
Back,
TakeScreenshot,
SendKey,
SendString,
GoHome,
GoToSettings,
VolumeUp,
VolumeDown,
Mute,
Unmute,
ToggleMute,
SetVolume,
SetAudioStreamIndex,
SetSubtitleStreamIndex,
ToggleFullscreen,
DisplayContent,
GoToSearch,
DisplayMessage,
SetRepeatMode,
ChannelUp,
ChannelDown,
Guide,
ToggleStats,
PlayMediaSource,
PlayTrailers,
SetShuffleQueue,
PlayState,
PlayNext,
ToggleOsdMenu,
Play,
};
Q_ENUM(Value)
private:
explicit GeneralCommandTypeClass();
};
typedef GeneralCommandTypeClass::Value GeneralCommandType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GENERALCOMMANDTYPE_H

View File

@ -0,0 +1,326 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GETPROGRAMSDTO_H
#define JELLYFIN_DTO_GETPROGRAMSDTO_H
#include <QDateTime>
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/imagetype.h"
#include "JellyfinQt/DTO/itemfields.h"
namespace Jellyfin {
namespace DTO {
class GetProgramsDto : public QObject {
Q_OBJECT
public:
explicit GetProgramsDto(QObject *parent = nullptr);
static GetProgramsDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the channels to return guide information for.
*/
Q_PROPERTY(QStringList channelIds READ channelIds WRITE setChannelIds NOTIFY channelIdsChanged)
/**
* @brief Gets or sets optional. Filter by user id.
*/
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
/**
* @brief Gets or sets the minimum premiere start date.
Optional.
*/
Q_PROPERTY(QDateTime minStartDate READ minStartDate WRITE setMinStartDate NOTIFY minStartDateChanged)
/**
* @brief Gets or sets filter by programs that have completed airing, or not.
Optional.
*/
Q_PROPERTY(bool hasAired READ hasAired WRITE setHasAired NOTIFY hasAiredChanged)
/**
* @brief Gets or sets filter by programs that are currently airing, or not.
Optional.
*/
Q_PROPERTY(bool isAiring READ isAiring WRITE setIsAiring NOTIFY isAiringChanged)
/**
* @brief Gets or sets the maximum premiere start date.
Optional.
*/
Q_PROPERTY(QDateTime maxStartDate READ maxStartDate WRITE setMaxStartDate NOTIFY maxStartDateChanged)
/**
* @brief Gets or sets the minimum premiere end date.
Optional.
*/
Q_PROPERTY(QDateTime minEndDate READ minEndDate WRITE setMinEndDate NOTIFY minEndDateChanged)
/**
* @brief Gets or sets the maximum premiere end date.
Optional.
*/
Q_PROPERTY(QDateTime maxEndDate READ maxEndDate WRITE setMaxEndDate NOTIFY maxEndDateChanged)
/**
* @brief Gets or sets filter for movies.
Optional.
*/
Q_PROPERTY(bool isMovie READ isMovie WRITE setIsMovie NOTIFY isMovieChanged)
/**
* @brief Gets or sets filter for series.
Optional.
*/
Q_PROPERTY(bool isSeries READ isSeries WRITE setIsSeries NOTIFY isSeriesChanged)
/**
* @brief Gets or sets filter for news.
Optional.
*/
Q_PROPERTY(bool isNews READ isNews WRITE setIsNews NOTIFY isNewsChanged)
/**
* @brief Gets or sets filter for kids.
Optional.
*/
Q_PROPERTY(bool isKids READ isKids WRITE setIsKids NOTIFY isKidsChanged)
/**
* @brief Gets or sets filter for sports.
Optional.
*/
Q_PROPERTY(bool isSports READ isSports WRITE setIsSports NOTIFY isSportsChanged)
/**
* @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
Optional.
*/
Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged)
/**
* @brief Gets or sets the maximum number of records to return.
Optional.
*/
Q_PROPERTY(qint32 limit READ limit WRITE setLimit NOTIFY limitChanged)
/**
* @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
Optional.
*/
Q_PROPERTY(QString sortBy READ sortBy WRITE setSortBy NOTIFY sortByChanged)
/**
* @brief Gets or sets sort Order - Ascending,Descending.
*/
Q_PROPERTY(QString sortOrder READ sortOrder WRITE setSortOrder NOTIFY sortOrderChanged)
/**
* @brief Gets or sets the genres to return guide information for.
*/
Q_PROPERTY(QStringList genres READ genres WRITE setGenres NOTIFY genresChanged)
/**
* @brief Gets or sets the genre ids to return guide information for.
*/
Q_PROPERTY(QStringList genreIds READ genreIds WRITE setGenreIds NOTIFY genreIdsChanged)
/**
* @brief Gets or sets include image information in output.
Optional.
*/
Q_PROPERTY(bool enableImages READ enableImages WRITE setEnableImages NOTIFY enableImagesChanged)
/**
* @brief Gets or sets a value indicating whether retrieve total record count.
*/
Q_PROPERTY(bool enableTotalRecordCount READ enableTotalRecordCount WRITE setEnableTotalRecordCount NOTIFY enableTotalRecordCountChanged)
/**
* @brief Gets or sets the max number of images to return, per image type.
Optional.
*/
Q_PROPERTY(qint32 imageTypeLimit READ imageTypeLimit WRITE setImageTypeLimit NOTIFY imageTypeLimitChanged)
/**
* @brief Gets or sets the image types to include in the output.
Optional.
*/
Q_PROPERTY(QList<ImageType> enableImageTypes READ enableImageTypes WRITE setEnableImageTypes NOTIFY enableImageTypesChanged)
/**
* @brief Gets or sets include user data.
Optional.
*/
Q_PROPERTY(bool enableUserData READ enableUserData WRITE setEnableUserData NOTIFY enableUserDataChanged)
/**
* @brief Gets or sets filter by series timer id.
Optional.
*/
Q_PROPERTY(QString seriesTimerId READ seriesTimerId WRITE setSeriesTimerId NOTIFY seriesTimerIdChanged)
/**
* @brief Gets or sets filter by library series id.
Optional.
*/
Q_PROPERTY(QString librarySeriesId READ librarySeriesId WRITE setLibrarySeriesId NOTIFY librarySeriesIdChanged)
/**
* @brief Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines.
Optional.
*/
Q_PROPERTY(QList<ItemFields> fields READ fields WRITE setFields NOTIFY fieldsChanged)
QStringList channelIds() const;
void setChannelIds(QStringList newChannelIds);
QString userId() const;
void setUserId(QString newUserId);
QDateTime minStartDate() const;
void setMinStartDate(QDateTime newMinStartDate);
bool hasAired() const;
void setHasAired(bool newHasAired);
bool isAiring() const;
void setIsAiring(bool newIsAiring);
QDateTime maxStartDate() const;
void setMaxStartDate(QDateTime newMaxStartDate);
QDateTime minEndDate() const;
void setMinEndDate(QDateTime newMinEndDate);
QDateTime maxEndDate() const;
void setMaxEndDate(QDateTime newMaxEndDate);
bool isMovie() const;
void setIsMovie(bool newIsMovie);
bool isSeries() const;
void setIsSeries(bool newIsSeries);
bool isNews() const;
void setIsNews(bool newIsNews);
bool isKids() const;
void setIsKids(bool newIsKids);
bool isSports() const;
void setIsSports(bool newIsSports);
qint32 startIndex() const;
void setStartIndex(qint32 newStartIndex);
qint32 limit() const;
void setLimit(qint32 newLimit);
QString sortBy() const;
void setSortBy(QString newSortBy);
QString sortOrder() const;
void setSortOrder(QString newSortOrder);
QStringList genres() const;
void setGenres(QStringList newGenres);
QStringList genreIds() const;
void setGenreIds(QStringList newGenreIds);
bool enableImages() const;
void setEnableImages(bool newEnableImages);
bool enableTotalRecordCount() const;
void setEnableTotalRecordCount(bool newEnableTotalRecordCount);
qint32 imageTypeLimit() const;
void setImageTypeLimit(qint32 newImageTypeLimit);
QList<ImageType> enableImageTypes() const;
void setEnableImageTypes(QList<ImageType> newEnableImageTypes);
bool enableUserData() const;
void setEnableUserData(bool newEnableUserData);
QString seriesTimerId() const;
void setSeriesTimerId(QString newSeriesTimerId);
QString librarySeriesId() const;
void setLibrarySeriesId(QString newLibrarySeriesId);
QList<ItemFields> fields() const;
void setFields(QList<ItemFields> newFields);
signals:
void channelIdsChanged(QStringList newChannelIds);
void userIdChanged(QString newUserId);
void minStartDateChanged(QDateTime newMinStartDate);
void hasAiredChanged(bool newHasAired);
void isAiringChanged(bool newIsAiring);
void maxStartDateChanged(QDateTime newMaxStartDate);
void minEndDateChanged(QDateTime newMinEndDate);
void maxEndDateChanged(QDateTime newMaxEndDate);
void isMovieChanged(bool newIsMovie);
void isSeriesChanged(bool newIsSeries);
void isNewsChanged(bool newIsNews);
void isKidsChanged(bool newIsKids);
void isSportsChanged(bool newIsSports);
void startIndexChanged(qint32 newStartIndex);
void limitChanged(qint32 newLimit);
void sortByChanged(QString newSortBy);
void sortOrderChanged(QString newSortOrder);
void genresChanged(QStringList newGenres);
void genreIdsChanged(QStringList newGenreIds);
void enableImagesChanged(bool newEnableImages);
void enableTotalRecordCountChanged(bool newEnableTotalRecordCount);
void imageTypeLimitChanged(qint32 newImageTypeLimit);
void enableImageTypesChanged(QList<ImageType> newEnableImageTypes);
void enableUserDataChanged(bool newEnableUserData);
void seriesTimerIdChanged(QString newSeriesTimerId);
void librarySeriesIdChanged(QString newLibrarySeriesId);
void fieldsChanged(QList<ItemFields> newFields);
protected:
QStringList m_channelIds;
QString m_userId;
QDateTime m_minStartDate;
bool m_hasAired;
bool m_isAiring;
QDateTime m_maxStartDate;
QDateTime m_minEndDate;
QDateTime m_maxEndDate;
bool m_isMovie;
bool m_isSeries;
bool m_isNews;
bool m_isKids;
bool m_isSports;
qint32 m_startIndex;
qint32 m_limit;
QString m_sortBy;
QString m_sortOrder;
QStringList m_genres;
QStringList m_genreIds;
bool m_enableImages;
bool m_enableTotalRecordCount;
qint32 m_imageTypeLimit;
QList<ImageType> m_enableImageTypes;
bool m_enableUserData;
QString m_seriesTimerId;
QString m_librarySeriesId;
QList<ItemFields> m_fields;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GETPROGRAMSDTO_H

View File

@ -0,0 +1,103 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GROUPINFODTO_H
#define JELLYFIN_DTO_GROUPINFODTO_H
#include <QDateTime>
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/groupstatetype.h"
namespace Jellyfin {
namespace DTO {
class GroupInfoDto : public QObject {
Q_OBJECT
public:
explicit GroupInfoDto(QObject *parent = nullptr);
static GroupInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets the group identifier.
*/
Q_PROPERTY(QString groupId READ groupId WRITE setGroupId NOTIFY groupIdChanged)
/**
* @brief Gets the group name.
*/
Q_PROPERTY(QString groupName READ groupName WRITE setGroupName NOTIFY groupNameChanged)
Q_PROPERTY(GroupStateType state READ state WRITE setState NOTIFY stateChanged)
/**
* @brief Gets the participants.
*/
Q_PROPERTY(QStringList participants READ participants WRITE setParticipants NOTIFY participantsChanged)
/**
* @brief Gets the date when this DTO has been created.
*/
Q_PROPERTY(QDateTime lastUpdatedAt READ lastUpdatedAt WRITE setLastUpdatedAt NOTIFY lastUpdatedAtChanged)
QString groupId() const;
void setGroupId(QString newGroupId);
QString groupName() const;
void setGroupName(QString newGroupName);
GroupStateType state() const;
void setState(GroupStateType newState);
QStringList participants() const;
void setParticipants(QStringList newParticipants);
QDateTime lastUpdatedAt() const;
void setLastUpdatedAt(QDateTime newLastUpdatedAt);
signals:
void groupIdChanged(QString newGroupId);
void groupNameChanged(QString newGroupName);
void stateChanged(GroupStateType newState);
void participantsChanged(QStringList newParticipants);
void lastUpdatedAtChanged(QDateTime newLastUpdatedAt);
protected:
QString m_groupId;
QString m_groupName;
GroupStateType m_state;
QStringList m_participants;
QDateTime m_lastUpdatedAt;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GROUPINFODTO_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GROUPQUEUEMODE_H
#define JELLYFIN_DTO_GROUPQUEUEMODE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class GroupQueueModeClass {
Q_GADGET
public:
enum Value {
Queue,
QueueNext,
};
Q_ENUM(Value)
private:
explicit GroupQueueModeClass();
};
typedef GroupQueueModeClass::Value GroupQueueMode;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GROUPQUEUEMODE_H

View File

@ -0,0 +1,55 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GROUPREPEATMODE_H
#define JELLYFIN_DTO_GROUPREPEATMODE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class GroupRepeatModeClass {
Q_GADGET
public:
enum Value {
RepeatOne,
RepeatAll,
RepeatNone,
};
Q_ENUM(Value)
private:
explicit GroupRepeatModeClass();
};
typedef GroupRepeatModeClass::Value GroupRepeatMode;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GROUPREPEATMODE_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GROUPSHUFFLEMODE_H
#define JELLYFIN_DTO_GROUPSHUFFLEMODE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class GroupShuffleModeClass {
Q_GADGET
public:
enum Value {
Sorted,
Shuffle,
};
Q_ENUM(Value)
private:
explicit GroupShuffleModeClass();
};
typedef GroupShuffleModeClass::Value GroupShuffleMode;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GROUPSHUFFLEMODE_H

View File

@ -0,0 +1,56 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GROUPSTATETYPE_H
#define JELLYFIN_DTO_GROUPSTATETYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class GroupStateTypeClass {
Q_GADGET
public:
enum Value {
Idle,
Waiting,
Paused,
Playing,
};
Q_ENUM(Value)
private:
explicit GroupStateTypeClass();
};
typedef GroupStateTypeClass::Value GroupStateType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GROUPSTATETYPE_H

View File

@ -0,0 +1,63 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GROUPUPDATETYPE_H
#define JELLYFIN_DTO_GROUPUPDATETYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class GroupUpdateTypeClass {
Q_GADGET
public:
enum Value {
UserJoined,
UserLeft,
GroupJoined,
GroupLeft,
StateUpdate,
PlayQueue,
NotInGroup,
GroupDoesNotExist,
CreateGroupDenied,
JoinGroupDenied,
LibraryAccessDenied,
};
Q_ENUM(Value)
private:
explicit GroupUpdateTypeClass();
};
typedef GroupUpdateTypeClass::Value GroupUpdateType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GROUPUPDATETYPE_H

View File

@ -0,0 +1,74 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_GUIDEINFO_H
#define JELLYFIN_DTO_GUIDEINFO_H
#include <QDateTime>
#include <QJsonObject>
#include <QObject>
namespace Jellyfin {
namespace DTO {
class GuideInfo : public QObject {
Q_OBJECT
public:
explicit GuideInfo(QObject *parent = nullptr);
static GuideInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the start date.
*/
Q_PROPERTY(QDateTime startDate READ startDate WRITE setStartDate NOTIFY startDateChanged)
/**
* @brief Gets or sets the end date.
*/
Q_PROPERTY(QDateTime endDate READ endDate WRITE setEndDate NOTIFY endDateChanged)
QDateTime startDate() const;
void setStartDate(QDateTime newStartDate);
QDateTime endDate() const;
void setEndDate(QDateTime newEndDate);
signals:
void startDateChanged(QDateTime newStartDate);
void endDateChanged(QDateTime newEndDate);
protected:
QDateTime m_startDate;
QDateTime m_endDate;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_GUIDEINFO_H

View File

@ -0,0 +1,55 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_HEADERMATCHTYPE_H
#define JELLYFIN_DTO_HEADERMATCHTYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class HeaderMatchTypeClass {
Q_GADGET
public:
enum Value {
Equals,
Regex,
Substring,
};
Q_ENUM(Value)
private:
explicit HeaderMatchTypeClass();
};
typedef HeaderMatchTypeClass::Value HeaderMatchType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_HEADERMATCHTYPE_H

View File

@ -0,0 +1,76 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_HTTPHEADERINFO_H
#define JELLYFIN_DTO_HTTPHEADERINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/headermatchtype.h"
namespace Jellyfin {
namespace DTO {
class HttpHeaderInfo : public QObject {
Q_OBJECT
public:
explicit HttpHeaderInfo(QObject *parent = nullptr);
static HttpHeaderInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged)
Q_PROPERTY(HeaderMatchType match READ match WRITE setMatch NOTIFY matchChanged)
QString name() const;
void setName(QString newName);
QString value() const;
void setValue(QString newValue);
HeaderMatchType match() const;
void setMatch(HeaderMatchType newMatch);
signals:
void nameChanged(QString newName);
void valueChanged(QString newValue);
void matchChanged(HeaderMatchType newMatch);
protected:
QString m_name;
QString m_value;
HeaderMatchType m_match;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_HTTPHEADERINFO_H

View File

@ -0,0 +1,64 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H
#define JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H
#include <QJsonObject>
#include <QObject>
namespace Jellyfin {
namespace DTO {
class IgnoreWaitRequestDto : public QObject {
Q_OBJECT
public:
explicit IgnoreWaitRequestDto(QObject *parent = nullptr);
static IgnoreWaitRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets a value indicating whether the client should be ignored.
*/
Q_PROPERTY(bool ignoreWait READ ignoreWait WRITE setIgnoreWait NOTIFY ignoreWaitChanged)
bool ignoreWait() const;
void setIgnoreWait(bool newIgnoreWait);
signals:
void ignoreWaitChanged(bool newIgnoreWait);
protected:
bool m_ignoreWait;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H

View File

@ -0,0 +1,101 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGEBYNAMEINFO_H
#define JELLYFIN_DTO_IMAGEBYNAMEINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class ImageByNameInfo : public QObject {
Q_OBJECT
public:
explicit ImageByNameInfo(QObject *parent = nullptr);
static ImageByNameInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets or sets the theme.
*/
Q_PROPERTY(QString theme READ theme WRITE setTheme NOTIFY themeChanged)
/**
* @brief Gets or sets the context.
*/
Q_PROPERTY(QString context READ context WRITE setContext NOTIFY contextChanged)
/**
* @brief Gets or sets the length of the file.
*/
Q_PROPERTY(qint64 fileLength READ fileLength WRITE setFileLength NOTIFY fileLengthChanged)
/**
* @brief Gets or sets the format.
*/
Q_PROPERTY(QString format READ format WRITE setFormat NOTIFY formatChanged)
QString name() const;
void setName(QString newName);
QString theme() const;
void setTheme(QString newTheme);
QString context() const;
void setContext(QString newContext);
qint64 fileLength() const;
void setFileLength(qint64 newFileLength);
QString format() const;
void setFormat(QString newFormat);
signals:
void nameChanged(QString newName);
void themeChanged(QString newTheme);
void contextChanged(QString newContext);
void fileLengthChanged(qint64 newFileLength);
void formatChanged(QString newFormat);
protected:
QString m_name;
QString m_theme;
QString m_context;
qint64 m_fileLength;
QString m_format;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGEBYNAMEINFO_H

View File

@ -0,0 +1,57 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGEFORMAT_H
#define JELLYFIN_DTO_IMAGEFORMAT_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ImageFormatClass {
Q_GADGET
public:
enum Value {
Bmp,
Gif,
Jpg,
Png,
Webp,
};
Q_ENUM(Value)
private:
explicit ImageFormatClass();
};
typedef ImageFormatClass::Value ImageFormat;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGEFORMAT_H

View File

@ -0,0 +1,127 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGEINFO_H
#define JELLYFIN_DTO_IMAGEINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
#include "JellyfinQt/DTO/imagetype.h"
namespace Jellyfin {
namespace DTO {
class ImageInfo : public QObject {
Q_OBJECT
public:
explicit ImageInfo(QObject *parent = nullptr);
static ImageInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(ImageType imageType READ imageType WRITE setImageType NOTIFY imageTypeChanged)
/**
* @brief Gets or sets the index of the image.
*/
Q_PROPERTY(qint32 imageIndex READ imageIndex WRITE setImageIndex NOTIFY imageIndexChanged)
/**
* @brief Gets or sets the image tag.
*/
Q_PROPERTY(QString imageTag READ imageTag WRITE setImageTag NOTIFY imageTagChanged)
/**
* @brief Gets or sets the path.
*/
Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged)
/**
* @brief Gets or sets the blurhash.
*/
Q_PROPERTY(QString blurHash READ blurHash WRITE setBlurHash NOTIFY blurHashChanged)
/**
* @brief Gets or sets the height.
*/
Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged)
/**
* @brief Gets or sets the width.
*/
Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged)
/**
* @brief Gets or sets the size.
*/
Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged)
ImageType imageType() const;
void setImageType(ImageType newImageType);
qint32 imageIndex() const;
void setImageIndex(qint32 newImageIndex);
QString imageTag() const;
void setImageTag(QString newImageTag);
QString path() const;
void setPath(QString newPath);
QString blurHash() const;
void setBlurHash(QString newBlurHash);
qint32 height() const;
void setHeight(qint32 newHeight);
qint32 width() const;
void setWidth(qint32 newWidth);
qint64 size() const;
void setSize(qint64 newSize);
signals:
void imageTypeChanged(ImageType newImageType);
void imageIndexChanged(qint32 newImageIndex);
void imageTagChanged(QString newImageTag);
void pathChanged(QString newPath);
void blurHashChanged(QString newBlurHash);
void heightChanged(qint32 newHeight);
void widthChanged(qint32 newWidth);
void sizeChanged(qint64 newSize);
protected:
ImageType m_imageType;
qint32 m_imageIndex;
QString m_imageTag;
QString m_path;
QString m_blurHash;
qint32 m_height;
qint32 m_width;
qint64 m_size;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGEINFO_H

View File

@ -0,0 +1,81 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGEOPTION_H
#define JELLYFIN_DTO_IMAGEOPTION_H
#include <QJsonObject>
#include <QObject>
#include "JellyfinQt/DTO/imagetype.h"
namespace Jellyfin {
namespace DTO {
class ImageOption : public QObject {
Q_OBJECT
public:
explicit ImageOption(QObject *parent = nullptr);
static ImageOption *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
Q_PROPERTY(ImageType type READ type WRITE setType NOTIFY typeChanged)
/**
* @brief Gets or sets the limit.
*/
Q_PROPERTY(qint32 limit READ limit WRITE setLimit NOTIFY limitChanged)
/**
* @brief Gets or sets the minimum width.
*/
Q_PROPERTY(qint32 minWidth READ minWidth WRITE setMinWidth NOTIFY minWidthChanged)
ImageType type() const;
void setType(ImageType newType);
qint32 limit() const;
void setLimit(qint32 newLimit);
qint32 minWidth() const;
void setMinWidth(qint32 newMinWidth);
signals:
void typeChanged(ImageType newType);
void limitChanged(qint32 newLimit);
void minWidthChanged(qint32 newMinWidth);
protected:
ImageType m_type;
qint32 m_limit;
qint32 m_minWidth;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGEOPTION_H

View File

@ -0,0 +1,60 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGEORIENTATION_H
#define JELLYFIN_DTO_IMAGEORIENTATION_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ImageOrientationClass {
Q_GADGET
public:
enum Value {
TopLeft,
TopRight,
BottomRight,
BottomLeft,
LeftTop,
RightTop,
RightBottom,
LeftBottom,
};
Q_ENUM(Value)
private:
explicit ImageOrientationClass();
};
typedef ImageOrientationClass::Value ImageOrientation;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGEORIENTATION_H

View File

@ -0,0 +1,78 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGEPROVIDERINFO_H
#define JELLYFIN_DTO_IMAGEPROVIDERINFO_H
#include <QJsonObject>
#include <QList>
#include <QObject>
#include <QString>
#include <QStringList>
#include "JellyfinQt/DTO/imagetype.h"
namespace Jellyfin {
namespace DTO {
class ImageProviderInfo : public QObject {
Q_OBJECT
public:
explicit ImageProviderInfo(QObject *parent = nullptr);
static ImageProviderInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets the supported image types.
*/
Q_PROPERTY(QList<ImageType> supportedImages READ supportedImages WRITE setSupportedImages NOTIFY supportedImagesChanged)
QString name() const;
void setName(QString newName);
QList<ImageType> supportedImages() const;
void setSupportedImages(QList<ImageType> newSupportedImages);
signals:
void nameChanged(QString newName);
void supportedImagesChanged(QList<ImageType> newSupportedImages);
protected:
QString m_name;
QList<ImageType> m_supportedImages;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGEPROVIDERINFO_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGESAVINGCONVENTION_H
#define JELLYFIN_DTO_IMAGESAVINGCONVENTION_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ImageSavingConventionClass {
Q_GADGET
public:
enum Value {
Legacy,
Compatible,
};
Q_ENUM(Value)
private:
explicit ImageSavingConventionClass();
};
typedef ImageSavingConventionClass::Value ImageSavingConvention;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGESAVINGCONVENTION_H

View File

@ -0,0 +1,65 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IMAGETYPE_H
#define JELLYFIN_DTO_IMAGETYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ImageTypeClass {
Q_GADGET
public:
enum Value {
Primary,
Art,
Backdrop,
Banner,
Logo,
Thumb,
Disc,
Box,
Screenshot,
Menu,
Chapter,
BoxRear,
Profile,
};
Q_ENUM(Value)
private:
explicit ImageTypeClass();
};
typedef ImageTypeClass::Value ImageType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IMAGETYPE_H

View File

@ -0,0 +1,109 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_INSTALLATIONINFO_H
#define JELLYFIN_DTO_INSTALLATIONINFO_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class Version;
class InstallationInfo : public QObject {
Q_OBJECT
public:
explicit InstallationInfo(QObject *parent = nullptr);
static InstallationInfo *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the Id.
*/
Q_PROPERTY(QString guid READ guid WRITE setGuid NOTIFY guidChanged)
/**
* @brief Gets or sets the name.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(Version * version READ version WRITE setVersion NOTIFY versionChanged)
/**
* @brief Gets or sets the changelog for this version.
*/
Q_PROPERTY(QString changelog READ changelog WRITE setChangelog NOTIFY changelogChanged)
/**
* @brief Gets or sets the source URL.
*/
Q_PROPERTY(QString sourceUrl READ sourceUrl WRITE setSourceUrl NOTIFY sourceUrlChanged)
/**
* @brief Gets or sets a checksum for the binary.
*/
Q_PROPERTY(QString checksum READ checksum WRITE setChecksum NOTIFY checksumChanged)
QString guid() const;
void setGuid(QString newGuid);
QString name() const;
void setName(QString newName);
Version * version() const;
void setVersion(Version * newVersion);
QString changelog() const;
void setChangelog(QString newChangelog);
QString sourceUrl() const;
void setSourceUrl(QString newSourceUrl);
QString checksum() const;
void setChecksum(QString newChecksum);
signals:
void guidChanged(QString newGuid);
void nameChanged(QString newName);
void versionChanged(Version * newVersion);
void changelogChanged(QString newChangelog);
void sourceUrlChanged(QString newSourceUrl);
void checksumChanged(QString newChecksum);
protected:
QString m_guid;
QString m_name;
Version * m_version = nullptr;
QString m_changelog;
QString m_sourceUrl;
QString m_checksum;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_INSTALLATIONINFO_H

View File

@ -0,0 +1,118 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_IPLUGIN_H
#define JELLYFIN_DTO_IPLUGIN_H
#include <QJsonObject>
#include <QObject>
#include <QString>
namespace Jellyfin {
namespace DTO {
class Version;
class IPlugin : public QObject {
Q_OBJECT
public:
explicit IPlugin(QObject *parent = nullptr);
static IPlugin *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets the name of the plugin.
*/
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
/**
* @brief Gets the Description.
*/
Q_PROPERTY(QString description READ description WRITE setDescription NOTIFY descriptionChanged)
/**
* @brief Gets the unique id.
*/
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
Q_PROPERTY(Version * version READ version WRITE setVersion NOTIFY versionChanged)
/**
* @brief Gets the path to the assembly file.
*/
Q_PROPERTY(QString assemblyFilePath READ assemblyFilePath WRITE setAssemblyFilePath NOTIFY assemblyFilePathChanged)
/**
* @brief Gets a value indicating whether the plugin can be uninstalled.
*/
Q_PROPERTY(bool canUninstall READ canUninstall WRITE setCanUninstall NOTIFY canUninstallChanged)
/**
* @brief Gets the full path to the data folder, where the plugin can store any miscellaneous files needed.
*/
Q_PROPERTY(QString dataFolderPath READ dataFolderPath WRITE setDataFolderPath NOTIFY dataFolderPathChanged)
QString name() const;
void setName(QString newName);
QString description() const;
void setDescription(QString newDescription);
QString jellyfinId() const;
void setJellyfinId(QString newJellyfinId);
Version * version() const;
void setVersion(Version * newVersion);
QString assemblyFilePath() const;
void setAssemblyFilePath(QString newAssemblyFilePath);
bool canUninstall() const;
void setCanUninstall(bool newCanUninstall);
QString dataFolderPath() const;
void setDataFolderPath(QString newDataFolderPath);
signals:
void nameChanged(QString newName);
void descriptionChanged(QString newDescription);
void jellyfinIdChanged(QString newJellyfinId);
void versionChanged(Version * newVersion);
void assemblyFilePathChanged(QString newAssemblyFilePath);
void canUninstallChanged(bool newCanUninstall);
void dataFolderPathChanged(QString newDataFolderPath);
protected:
QString m_name;
QString m_description;
QString m_jellyfinId;
Version * m_version = nullptr;
QString m_assemblyFilePath;
bool m_canUninstall;
QString m_dataFolderPath;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_IPLUGIN_H

View File

@ -0,0 +1,54 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ISOTYPE_H
#define JELLYFIN_DTO_ISOTYPE_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class IsoTypeClass {
Q_GADGET
public:
enum Value {
Dvd,
BluRay,
};
Q_ENUM(Value)
private:
explicit IsoTypeClass();
};
typedef IsoTypeClass::Value IsoType;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ISOTYPE_H

View File

@ -1,296 +1,43 @@
/*
Sailfin: a Jellyfin client written using Qt
Copyright (C) 2021 Chris Josten
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
#ifndef JELLYFIN_DTO_ITEM_H
#define JELLYFIN_DTO_ITEM_H
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef JELLYFIN_ITEM_H
#define JELLYFIN_ITEM_H
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QDateTime>
#include <QDebug>
#include <QList>
#include <QObject>
#include <optional>
#include <cmath>
#include "dto.h"
#include "mediastream.h"
#include "namedguidpair.h"
#include "userdata.h"
#include "JellyfinQt/DTO/baseitemdto.h"
namespace Jellyfin {
class ApiClient;
namespace DTO {
class Item : public RemoteData {
Q_OBJECT
public:
Q_INVOKABLE explicit Item(QObject *parent = nullptr);
Item(QString itemId, ApiClient *apiClient, QObject *parent = nullptr);
using Item = BaseItemDto;
Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged)
// Based on https://github.com/jellyfin/jellyfin/blob/907695dec7fda152d0e17c1197637bc0e17c9928/MediaBrowser.Model/Dto/BaseItemDto.cs
// I copy, pasted and replaced. I feel like a Go programmer implementing generic containers.
// If this were D, I would've writed a compile-time C# parser to parse that source code at compile time, extract
// the properties and generate a class based on that.
// Doing that in C++ would be more difficult and I dislike qmake. Does it even support running programs at compile time?
// But here I am, using ctrl-C++
// Please keep the order of the properties the same as in the file linked above.
Q_PROPERTY(QString name MEMBER m_name NOTIFY nameChanged)
Q_PROPERTY(QString originalTitle MEMBER m_originalTitle NOTIFY originalTitleChanged)
Q_PROPERTY(QString serverId MEMBER m_serverId NOTIFY serverIdChanged)
Q_PROPERTY(QString etag MEMBER m_etag NOTIFY etagChanged)
Q_PROPERTY(QString sourceType MEMBER m_sourceType NOTIFY sourceTypeChanged)
Q_PROPERTY(QString playlistItemId MEMBER m_playlistItemId NOTIFY playlistItemIdChanged)
Q_PROPERTY(QDateTime dateCreated MEMBER m_dateCreated NOTIFY dateCreatedChanged)
Q_PROPERTY(QDateTime dateLastMediaAdded MEMBER m_dateLastMediaAdded NOTIFY dateLastMediaAddedChanged)
Q_PROPERTY(QString extraType MEMBER m_extraType NOTIFY extraTypeChanged)
Q_PROPERTY(int airsBeforeSeasonNumber READ airsBeforeSeasonNumber WRITE setAirsBeforeSeasonNumber NOTIFY airsBeforeSeasonNumberChanged)
Q_PROPERTY(int airsAfterSeasonNumber READ airsAfterSeasonNumber WRITE setAirsAfterSeasonNumber NOTIFY airsAfterSeasonNumberChanged)
Q_PROPERTY(int airsBeforeEpisodeNumber READ airsBeforeEpisodeNumber WRITE setAirsBeforeEpisodeNumber NOTIFY airsBeforeEpisodeNumberChanged)
Q_PROPERTY(bool canDelete READ canDelete WRITE setCanDelete NOTIFY canDeleteChanged)
Q_PROPERTY(bool canDownload READ canDownload WRITE setCanDownload NOTIFY canDownloadChanged)
Q_PROPERTY(bool hasSubtitles READ hasSubtitles WRITE setHasSubtitles NOTIFY hasSubtitlesChanged)
Q_PROPERTY(QString preferredMetadataLanguage MEMBER m_preferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged)
Q_PROPERTY(QString preferredMetadataCountryCode MEMBER m_preferredMetadataCountryCode NOTIFY preferredMetadataCountryCodeChanged)
Q_PROPERTY(bool supportsSync READ supportsSync WRITE setSupportsSync NOTIFY supportsSyncChanged)
Q_PROPERTY(QString container MEMBER m_container NOTIFY containerChanged)
Q_PROPERTY(QString sortName MEMBER m_sortName NOTIFY sortNameChanged)
Q_PROPERTY(QString forcedSortName MEMBER m_forcedSortName NOTIFY forcedSortNameChanged)
//SKIP: Video3DFormat
Q_PROPERTY(QDateTime premiereData MEMBER m_premiereDate NOTIFY premiereDateChanged)
//SKIP: ExternalUrls
//SKIP: MediaSources
Q_PROPERTY(float criticRating READ criticRating WRITE setCriticRating NOTIFY criticRatingChanged)
Q_PROPERTY(QStringList productionLocations MEMBER m_productionLocations NOTIFY productionLocationsChanged)
// Handpicked, important ones
Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks WRITE setRunTimeTicks NOTIFY runTimeTicksChanged)
Q_PROPERTY(QString overview MEMBER m_overview NOTIFY overviewChanged)
Q_PROPERTY(int productionYear READ productionYear WRITE setProductionYear NOTIFY productionYearChanged)
Q_PROPERTY(int indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged)
Q_PROPERTY(int indexNumberEnd READ indexNumberEnd WRITE setIndexNumberEnd NOTIFY indexNumberEndChanged)
Q_PROPERTY(int parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged)
Q_PROPERTY(bool isFolder READ isFolder WRITE setIsFolder NOTIFY isFolderChanged)
Q_PROPERTY(QString parentID MEMBER m_parentId READ parentId NOTIFY parentIdChanged)
Q_PROPERTY(QString type MEMBER m_type NOTIFY typeChanged)
Q_PROPERTY(QString parentBackdropItemId MEMBER m_parentBackdropItemId NOTIFY parentBackdropItemIdChanged)
Q_PROPERTY(QStringList parentBackdropImageTags MEMBER m_parentBackdropImageTags NOTIFY parentBackdropImageTagsChanged)
Q_PROPERTY(UserData *userData READ userData WRITE setUserData NOTIFY userDataChanged)
Q_PROPERTY(int recursiveItemCount READ recursiveItemCount WRITE setRecursiveItemCount NOTIFY recursiveItemCountChanged)
Q_PROPERTY(int childCount READ childCount WRITE setChildCount NOTIFY childCountChanged)
Q_PROPERTY(QString albumArtist MEMBER m_albumArtist NOTIFY albumArtistChanged)
Q_PROPERTY(QList<NameGuidPair *> __list__albumArtists MEMBER __list__m_albumArtists NOTIFY albumArtistsChanged)
Q_PROPERTY(QVariantList albumArtists MEMBER m_albumArtists NOTIFY albumArtistsChanged STORED false)
Q_PROPERTY(QString seriesName MEMBER m_seriesName NOTIFY seriesNameChanged)
Q_PROPERTY(QString seasonName MEMBER m_seasonName NOTIFY seasonNameChanged)
Q_PROPERTY(QList<MediaStream *> __list__mediaStreams MEMBER __list__m_mediaStreams NOTIFY mediaStreamsChanged)
Q_PROPERTY(QVariantList mediaStreams MEMBER m_mediaStreams NOTIFY mediaStreamsChanged STORED false)
Q_PROPERTY(QStringList artists MEMBER m_artists NOTIFY artistsChanged)
// Why is this a QJsonObject? Well, because I couldn't be bothered to implement the deserialisations of
// a QHash at the moment.
Q_PROPERTY(QJsonObject imageTags MEMBER m_imageTags NOTIFY imageTagsChanged)
Q_PROPERTY(QStringList backdropImageTags MEMBER m_backdropImageTags NOTIFY backdropImageTagsChanged)
Q_PROPERTY(QJsonObject imageBlurHashes MEMBER m_imageBlurHashes NOTIFY imageBlurHashesChanged)
Q_PROPERTY(QString mediaType MEMBER m_mediaType READ mediaType NOTIFY mediaTypeChanged)
Q_PROPERTY(int width MEMBER m_width NOTIFY widthChanged)
Q_PROPERTY(int height MEMBER m_height NOTIFY heightChanged)
QString jellyfinId() const { return m_id; }
void setJellyfinId(QString newId);
int airsBeforeSeasonNumber() const { return m_airsBeforeSeasonNumber.value_or(-1); }
void setAirsBeforeSeasonNumber(int newAirsBeforeSeasonNumber) { m_airsBeforeSeasonNumber = newAirsBeforeSeasonNumber; emit airsBeforeSeasonNumberChanged(newAirsBeforeSeasonNumber); }
int airsAfterSeasonNumber() const { return m_airsAfterSeasonNumber.value_or(-1); }
void setAirsAfterSeasonNumber(int newAirsAfterSeasonNumber) { m_airsAfterSeasonNumber = newAirsAfterSeasonNumber; emit airsAfterSeasonNumberChanged(newAirsAfterSeasonNumber); }
int airsBeforeEpisodeNumber() const { return m_airsBeforeEpisodeNumber.value_or(-1); }
void setAirsBeforeEpisodeNumber(int newAirsBeforeEpisodeNumber) { m_airsBeforeEpisodeNumber = newAirsBeforeEpisodeNumber; emit airsBeforeEpisodeNumberChanged(newAirsBeforeEpisodeNumber); }
bool canDelete() const { return m_canDelete.value_or(false); }
void setCanDelete(bool newCanDelete) { m_canDelete = newCanDelete; emit canDeleteChanged(newCanDelete); }
bool canDownload() const { return m_canDownload.value_or(false); }
void setCanDownload(bool newCanDownload) { m_canDownload = newCanDownload; emit canDownloadChanged(newCanDownload); }
bool hasSubtitles() const { return m_hasSubtitles.value_or(false); }
void setHasSubtitles(bool newHasSubtitles) { m_hasSubtitles = newHasSubtitles; emit hasSubtitlesChanged(newHasSubtitles); }
bool supportsSync() const { return m_supportsSync.value_or(false); }
void setSupportsSync(bool newSupportsSync) { m_supportsSync = newSupportsSync; emit supportsSyncChanged(newSupportsSync); }
float criticRating() const { return m_criticRating.value_or(std::nanf("")); }
void setCriticRating(float newCriticRating) { m_criticRating = newCriticRating; emit criticRatingChanged(newCriticRating); }
// Handpicked, important ones
qint64 runTimeTicks() const { return m_runTimeTicks.value_or(-1); }
void setRunTimeTicks(qint64 newRunTimeTicks) { m_runTimeTicks = newRunTimeTicks; emit runTimeTicksChanged(newRunTimeTicks); }
int productionYear() const { return m_productionYear.value_or(-1); }
void setProductionYear(int newProductionYear) { m_productionYear = std::optional<int>(newProductionYear); emit productionYearChanged(newProductionYear); }
int indexNumber() const { return m_indexNumber.value_or(-1); }
void setIndexNumber(int newIndexNumber) { m_indexNumber = std::optional<int>(newIndexNumber); emit indexNumberChanged(newIndexNumber); }
int indexNumberEnd() const { return m_indexNumberEnd.value_or(-1); }
void setIndexNumberEnd(int newIndexNumberEnd) { m_indexNumberEnd = std::optional<int>(newIndexNumberEnd); emit indexNumberEndChanged(newIndexNumberEnd); }
int parentIndexNumber() const { return m_parentIndexNumber.value_or(-1); }
void setParentIndexNumber(int newParentIndexNumber) { m_parentIndexNumber= std::optional<int>(newParentIndexNumber); emit parentIndexNumberChanged(newParentIndexNumber); }
bool isFolder() const { return m_isFolder.value_or(false); }
void setIsFolder(bool newIsFolder) { m_isFolder = newIsFolder; emit isFolderChanged(newIsFolder); }
QString parentId() const { return m_parentId; }
UserData *userData() const { return m_userData; }
void setUserData(UserData *newUserData) {
if (m_userData != nullptr) {
m_userData->deleteLater();
}
m_userData = newUserData;
emit userDataChanged(newUserData);
}
int recursiveItemCount() const { return m_recursiveItemCount.value_or(-1); }
void setRecursiveItemCount(int newRecursiveItemCount) { m_recursiveItemCount = newRecursiveItemCount; emit recursiveItemCountChanged(newRecursiveItemCount); }
int childCount() const { return m_childCount.value_or(-1); }
void setChildCount(int newChildCount) { m_childCount = newChildCount; emit childCountChanged(newChildCount); }
QString mediaType() const { return m_mediaType; }
//QQmlListProperty<MediaStream> mediaStreams() { return toReadOnlyQmlListProperty<MediaStream>(m_mediaStreams); }
//QList<QObject *> mediaStreams() { return *reinterpret_cast<QList<QObject *> *>(&m_mediaStreams); }
QVariantList mediaStreams() { QVariantList l; for (auto e: m_mediaStreams) l.append(QVariant::fromValue(e)); return l;}
signals:
void jellyfinIdChanged(const QString &newId);
void nameChanged(const QString &newName);
void originalTitleChanged(const QString &newOriginalTitle);
void serverIdChanged(const QString &newServerId);
void etagChanged(const QString &newEtag);
void sourceTypeChanged(const QString &sourceType);
void playlistItemIdChanged(const QString &playlistItemIdChanged);
void dateCreatedChanged(QDateTime newDateCreatedChanged);
void dateLastMediaAddedChanged(QDateTime newDateLastMediaAdded);
void extraTypeChanged(const QString &newExtraType);
void airsBeforeSeasonNumberChanged(int newAirsBeforeSeasonNumber);
void airsAfterSeasonNumberChanged(int newAirsAfterSeasonNumber);
void airsBeforeEpisodeNumberChanged(int newAirsAfterEpisodeNumber);
bool canDeleteChanged(bool newCanDelete);
void canDownloadChanged(bool newCanDownload);
void hasSubtitlesChanged(bool newHasSubtitles);
void preferredMetadataLanguageChanged(const QString &newPreferredMetadataLanguage);
void preferredMetadataCountryCodeChanged(const QString &newPreferredMetadataCountryCode);
void supportsSyncChanged(bool newSupportsSync);
void containerChanged(const QString &newContainer);
void sortNameChanged(const QString &newSortName);
void forcedSortNameChanged(const QString &newForcedSortName);
void premiereDateChanged(QDateTime newPremiereDate);
void criticRatingChanged(float newCriticRating);
void productionLocationsChanged(QStringList newProductionLocations);
// Handpicked, important ones
void runTimeTicksChanged(qint64 newRunTimeTicks);
void overviewChanged(const QString &newOverview);
void productionYearChanged(int newProductionYear);
void indexNumberChanged(int newIndexNumber);
void indexNumberEndChanged(int newIndexNumberEnd);
void isFolderChanged(bool newIsFolder);
void parentIdChanged(const QString &newParentId);
void typeChanged(const QString &newType);
void parentBackdropItemIdChanged();
void parentBackdropImageTagsChanged();
void userDataChanged(UserData *newUserData);
void recursiveItemCountChanged(int newRecursiveItemCount);
void childCountChanged(int newChildCount);
void albumArtistChanged(const QString &newAlbumArtist);
void albumArtistsChanged(NameGuidPair *newAlbumArtists);
void seriesNameChanged(const QString &newSeriesName);
void seasonNameChanged(const QString &newSeasonName);
void mediaStreamsChanged(/*const QList<MediaStream *> &newMediaStreams*/);
void artistsChanged(const QStringList &newArtists);
void imageTagsChanged();
void backdropImageTagsChanged();
void imageBlurHashesChanged();
void mediaTypeChanged(const QString &newMediaType);
void widthChanged(int newWidth);
void heightChanged(int newHeight);
public slots:
void onUserDataChanged(const QString &itemId, UserData *userData);
protected:
// Overrides
QString getDataUrl() const override;
bool canReload() const override;
QString m_id = QStringLiteral("");
QString m_name;
QString m_originalTitle;
QString m_serverId;
QString m_etag;
QString m_sourceType;
QString m_playlistItemId;
QDateTime m_dateCreated;
QDateTime m_dateLastMediaAdded;
QString m_extraType;
std::optional<int> m_airsBeforeSeasonNumber = std::nullopt;
std::optional<int> m_airsAfterSeasonNumber = std::nullopt;
std::optional<int> m_airsBeforeEpisodeNumber = std::nullopt;
std::optional<bool> m_canDelete = std::nullopt;
std::optional<bool> m_canDownload = std::nullopt;
std::optional<bool> m_hasSubtitles = std::nullopt;
QString m_preferredMetadataLanguage;
QString m_preferredMetadataCountryCode;
std::optional<bool> m_supportsSync = std::nullopt;
QString m_container;
QString m_sortName;
QString m_forcedSortName;
QDateTime m_premiereDate;
std::optional<float> m_criticRating = std::nullopt;
QStringList m_productionLocations;
// Handpicked, important ones
std::optional<qint64> m_runTimeTicks = std::nullopt;
QString m_overview;
std::optional<int> m_productionYear = std::nullopt;
std::optional<int> m_indexNumber = std::nullopt;
std::optional<int> m_indexNumberEnd = std::nullopt;
std::optional<int> m_parentIndexNumber = std::nullopt;
std::optional<bool> m_isFolder = std::nullopt;
QString m_parentId;
QString m_type;
QString m_parentBackdropItemId;
QStringList m_parentBackdropImageTags;
UserData *m_userData = nullptr;
std::optional<int> m_recursiveItemCount = std::nullopt;
std::optional<int> m_childCount = std::nullopt;
QString m_albumArtist;
QList<NameGuidPair *> __list__m_albumArtists;
QVariantList m_albumArtists;
QString m_seriesName;
QString m_seasonName;
QList<MediaStream *> __list__m_mediaStreams;
QVariantList m_mediaStreams;
QStringList m_artists;
QJsonObject m_imageTags;
QStringList m_backdropImageTags;
QJsonObject m_imageBlurHashes;
QString m_mediaType;
int m_width;
int m_height;
};
} // NS DTO
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_ITEM_H
#endif // JELLYFIN_DTO_ITEM_H

View File

@ -0,0 +1,163 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ITEMCOUNTS_H
#define JELLYFIN_DTO_ITEMCOUNTS_H
#include <QJsonObject>
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ItemCounts : public QObject {
Q_OBJECT
public:
explicit ItemCounts(QObject *parent = nullptr);
static ItemCounts *fromJSON(QJsonObject source, QObject *parent = nullptr);
void updateFromJSON(QJsonObject source);
QJsonObject toJSON();
/**
* @brief Gets or sets the movie count.
*/
Q_PROPERTY(qint32 movieCount READ movieCount WRITE setMovieCount NOTIFY movieCountChanged)
/**
* @brief Gets or sets the series count.
*/
Q_PROPERTY(qint32 seriesCount READ seriesCount WRITE setSeriesCount NOTIFY seriesCountChanged)
/**
* @brief Gets or sets the episode count.
*/
Q_PROPERTY(qint32 episodeCount READ episodeCount WRITE setEpisodeCount NOTIFY episodeCountChanged)
/**
* @brief Gets or sets the artist count.
*/
Q_PROPERTY(qint32 artistCount READ artistCount WRITE setArtistCount NOTIFY artistCountChanged)
/**
* @brief Gets or sets the program count.
*/
Q_PROPERTY(qint32 programCount READ programCount WRITE setProgramCount NOTIFY programCountChanged)
/**
* @brief Gets or sets the trailer count.
*/
Q_PROPERTY(qint32 trailerCount READ trailerCount WRITE setTrailerCount NOTIFY trailerCountChanged)
/**
* @brief Gets or sets the song count.
*/
Q_PROPERTY(qint32 songCount READ songCount WRITE setSongCount NOTIFY songCountChanged)
/**
* @brief Gets or sets the album count.
*/
Q_PROPERTY(qint32 albumCount READ albumCount WRITE setAlbumCount NOTIFY albumCountChanged)
/**
* @brief Gets or sets the music video count.
*/
Q_PROPERTY(qint32 musicVideoCount READ musicVideoCount WRITE setMusicVideoCount NOTIFY musicVideoCountChanged)
/**
* @brief Gets or sets the box set count.
*/
Q_PROPERTY(qint32 boxSetCount READ boxSetCount WRITE setBoxSetCount NOTIFY boxSetCountChanged)
/**
* @brief Gets or sets the book count.
*/
Q_PROPERTY(qint32 bookCount READ bookCount WRITE setBookCount NOTIFY bookCountChanged)
/**
* @brief Gets or sets the item count.
*/
Q_PROPERTY(qint32 itemCount READ itemCount WRITE setItemCount NOTIFY itemCountChanged)
qint32 movieCount() const;
void setMovieCount(qint32 newMovieCount);
qint32 seriesCount() const;
void setSeriesCount(qint32 newSeriesCount);
qint32 episodeCount() const;
void setEpisodeCount(qint32 newEpisodeCount);
qint32 artistCount() const;
void setArtistCount(qint32 newArtistCount);
qint32 programCount() const;
void setProgramCount(qint32 newProgramCount);
qint32 trailerCount() const;
void setTrailerCount(qint32 newTrailerCount);
qint32 songCount() const;
void setSongCount(qint32 newSongCount);
qint32 albumCount() const;
void setAlbumCount(qint32 newAlbumCount);
qint32 musicVideoCount() const;
void setMusicVideoCount(qint32 newMusicVideoCount);
qint32 boxSetCount() const;
void setBoxSetCount(qint32 newBoxSetCount);
qint32 bookCount() const;
void setBookCount(qint32 newBookCount);
qint32 itemCount() const;
void setItemCount(qint32 newItemCount);
signals:
void movieCountChanged(qint32 newMovieCount);
void seriesCountChanged(qint32 newSeriesCount);
void episodeCountChanged(qint32 newEpisodeCount);
void artistCountChanged(qint32 newArtistCount);
void programCountChanged(qint32 newProgramCount);
void trailerCountChanged(qint32 newTrailerCount);
void songCountChanged(qint32 newSongCount);
void albumCountChanged(qint32 newAlbumCount);
void musicVideoCountChanged(qint32 newMusicVideoCount);
void boxSetCountChanged(qint32 newBoxSetCount);
void bookCountChanged(qint32 newBookCount);
void itemCountChanged(qint32 newItemCount);
protected:
qint32 m_movieCount;
qint32 m_seriesCount;
qint32 m_episodeCount;
qint32 m_artistCount;
qint32 m_programCount;
qint32 m_trailerCount;
qint32 m_songCount;
qint32 m_albumCount;
qint32 m_musicVideoCount;
qint32 m_boxSetCount;
qint32 m_bookCount;
qint32 m_itemCount;
};
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ITEMCOUNTS_H

View File

@ -0,0 +1,113 @@
/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_ITEMFIELDS_H
#define JELLYFIN_DTO_ITEMFIELDS_H
#include <QObject>
namespace Jellyfin {
namespace DTO {
class ItemFieldsClass {
Q_GADGET
public:
enum Value {
AirTime,
CanDelete,
CanDownload,
ChannelInfo,
Chapters,
ChildCount,
CumulativeRunTimeTicks,
CustomRating,
DateCreated,
DateLastMediaAdded,
DisplayPreferencesId,
Etag,
ExternalUrls,
Genres,
HomePageUrl,
ItemCounts,
MediaSourceCount,
MediaSources,
OriginalTitle,
Overview,
ParentId,
Path,
People,
PlayAccess,
ProductionLocations,
ProviderIds,
PrimaryImageAspectRatio,
RecursiveItemCount,
Settings,
ScreenshotImageTags,
SeriesPrimaryImage,
SeriesStudio,
SortName,
SpecialEpisodeNumbers,
Studios,
BasicSyncInfo,
SyncInfo,
Taglines,
Tags,
RemoteTrailers,
MediaStreams,
SeasonUserData,
ServiceName,
ThemeSongIds,
ThemeVideoIds,
ExternalEtag,
PresentationUniqueKey,
InheritedParentalRatingValue,
ExternalSeriesId,
SeriesPresentationUniqueKey,
DateLastRefreshed,
DateLastSaved,
RefreshState,
ChannelImage,
EnableMediaSourceDisplay,
Width,
Height,
ExtraIds,
LocalTrailerCount,
IsHD,
SpecialFeatureCount,
};
Q_ENUM(Value)
private:
explicit ItemFieldsClass();
};
typedef ItemFieldsClass::Value ItemFields;
} // NS Jellyfin
} // NS DTO
#endif // JELLYFIN_DTO_ITEMFIELDS_H

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