mirror of
https://github.com/HenkKalkwater/harbour-sailfin.git
synced 2025-03-30 17:32:41 +00:00
[2/3] update openapi spec: generate code
This updates the openapi spec and invokes the code generator to update to the Jellyfin 10.10.6 API. A big motivation to do this was because some mandatory fields have been made obsolete and are no longer included in responses. Sailfin tries to deserialize these mandatory fields and fails deserializing. It was evident in the list of sessions to control. The failing was a bit too gracefully in my opinion, it did not even show that an error occurred, nor was it logged anywhere. It took some time to debug.
This commit is contained in:
parent
f71c7a991b
commit
9e1a20cd3a
core
GeneratedSources.cmake
include/JellyfinQt/dto
accessschedule.hactivitylogentry.hactivitylogentrymessage.hactivitylogentryqueryresult.hactivitylogentrystartmessage.hactivitylogentrystopmessage.halbuminfo.halbuminforemotesearchquery.hartistinfo.hartistinforemotesearchquery.haudiospatialformat.hauthenticateuserbyname.hauthenticationinfoqueryresult.hauthenticationresult.hbaseitem.hbaseitemdto.hbaseitemdtoqueryresult.hbaseitemkind.hbaseitemperson.hbookinfo.hbookinforemotesearchquery.hboxsetinfo.hboxsetinforemotesearchquery.hbrandingoptions.hcastreceiverapplication.hchannelfeatures.hchannelmappingoptionsdto.hclientcapabilities.hclientcapabilitiesdto.hclientlogdocumentresponsedto.hcodecprofile.hcollectiontype.hcollectiontypeoptions.hconfigimagetypes.hconfigurationpageinfo.hcontainerprofile.hcreateplaylistdto.hcreateuserbyname.hculturedto.hdeinterlacemethod.hdeviceidentification.hdeviceinfodto.hdeviceinfodtoqueryresult.hdeviceoptionsdto.hdeviceprofile.hdirectplayprofile.hdisplaypreferencesdto.hdlnaprofiletype.hdownmixstereoalgorithms.hembeddedsubtitleoptions.hencoderpreset.hencodingoptions.hexternalidinfo.hexternalidmediatype.hextratype.hfilesystementryinfo.hforcekeepalivemessage.hforgotpasswordpindto.hgeneralcommand.hgeneralcommandmessage.hgeneralcommandtype.hgetprogramsdto.hgroupinfodto.hgroupinfodtogroupupdate.hgroupstateupdate.hgroupstateupdategroupupdate.hgroupupdate.hhardwareaccelerationtype.himageformat.himageproviderinfo.himageresolution.hinboundkeepalivemessage.hinboundwebsocketmessage.hinstallationinfo.hiplugin.hitemfields.hitemsortby.hlibrarychangedmessage.hlibraryoptions.hlibraryoptionsresultdto.hlibrarytypeoptionsdto.hlibraryupdateinfo.hlivetvinfo.hlivetvoptions.hlogfile.hlyricdto.hlyricline.hlyricmetadata.hmediapathinfo.hmediasegmentdto.hmediasegmentdtoqueryresult.hmediasegmenttype.hmediasourceinfo.hmediastream.hmediastreamprotocol.hmediastreamtype.hmediatype.hmediaupdateinfodto.hmediaupdateinfopathdto.h
File diff suppressed because it is too large
Load diff
|
@ -69,20 +69,20 @@ public:
|
|||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the id of this instance.
|
||||
* @brief Gets the id of this instance.
|
||||
*/
|
||||
qint32 jellyfinId() const;
|
||||
/**
|
||||
* @brief Gets or sets the id of this instance.
|
||||
* @brief Gets the id of this instance.
|
||||
*/
|
||||
void setJellyfinId(qint32 newJellyfinId);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the id of the associated user.
|
||||
* @brief Gets the id of the associated user.
|
||||
*/
|
||||
QString userId() const;
|
||||
/**
|
||||
* @brief Gets or sets the id of the associated user.
|
||||
* @brief Gets the id of the associated user.
|
||||
*/
|
||||
void setUserId(QString newUserId);
|
||||
|
||||
|
|
|
@ -50,7 +50,9 @@ namespace DTO {
|
|||
class ActivityLogEntry {
|
||||
public:
|
||||
ActivityLogEntry(
|
||||
qint64 jellyfinId,
|
||||
qint64 jellyfinId,
|
||||
QString name,
|
||||
QString type,
|
||||
QDateTime date,
|
||||
QString userId,
|
||||
LogLevel severity
|
||||
|
@ -85,8 +87,6 @@ public:
|
|||
* @brief Gets or sets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the overview.
|
||||
|
@ -118,8 +118,6 @@ public:
|
|||
* @brief Gets or sets the type.
|
||||
*/
|
||||
void setType(QString newType);
|
||||
bool typeNull() const;
|
||||
void setTypeNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the item identifier.
|
||||
|
|
123
core/include/JellyfinQt/dto/activitylogentrymessage.h
Normal file
123
core/include/JellyfinQt/dto/activitylogentrymessage.h
Normal file
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
* 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_ACTIVITYLOGENTRYMESSAGE_H
|
||||
#define JELLYFIN_DTO_ACTIVITYLOGENTRYMESSAGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/activitylogentry.h"
|
||||
#include "JellyfinQt/dto/sessionmessagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class ActivityLogEntryMessage {
|
||||
public:
|
||||
ActivityLogEntryMessage(
|
||||
QString messageId,
|
||||
SessionMessageType messageType
|
||||
);
|
||||
|
||||
ActivityLogEntryMessage(const ActivityLogEntryMessage &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ActivityLogEntryMessage &other);
|
||||
|
||||
static ActivityLogEntryMessage fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the data.
|
||||
*/
|
||||
QList<ActivityLogEntry> data() const;
|
||||
/**
|
||||
* @brief Gets or sets the data.
|
||||
*/
|
||||
void setData(QList<ActivityLogEntry> newData);
|
||||
bool dataNull() const;
|
||||
void setDataNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
QString messageId() const;
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
void setMessageId(QString newMessageId);
|
||||
|
||||
|
||||
SessionMessageType messageType() const;
|
||||
|
||||
void setMessageType(SessionMessageType newMessageType);
|
||||
|
||||
|
||||
protected:
|
||||
QList<ActivityLogEntry> m_data;
|
||||
QString m_messageId;
|
||||
SessionMessageType m_messageType;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ActivityLogEntryMessage::fromJson();
|
||||
ActivityLogEntryMessage();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ActivityLogEntryMessage = Jellyfin::DTO::ActivityLogEntryMessage;
|
||||
|
||||
template <>
|
||||
ActivityLogEntryMessage fromJsonValue(const QJsonValue &source, convertType<ActivityLogEntryMessage>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ActivityLogEntryMessage &source, convertType<ActivityLogEntryMessage>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_ACTIVITYLOGENTRYMESSAGE_H
|
|
@ -49,7 +49,8 @@ namespace DTO {
|
|||
|
||||
class ActivityLogEntryQueryResult {
|
||||
public:
|
||||
ActivityLogEntryQueryResult(
|
||||
ActivityLogEntryQueryResult(
|
||||
QList<ActivityLogEntry> items,
|
||||
qint32 totalRecordCount,
|
||||
qint32 startIndex
|
||||
);
|
||||
|
@ -74,24 +75,22 @@ public:
|
|||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<ActivityLogEntry> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
qint32 totalRecordCount() const;
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
void setTotalRecordCount(qint32 newTotalRecordCount);
|
||||
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
qint32 startIndex() const;
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
void setStartIndex(qint32 newStartIndex);
|
||||
|
||||
|
|
109
core/include/JellyfinQt/dto/activitylogentrystartmessage.h
Normal file
109
core/include/JellyfinQt/dto/activitylogentrystartmessage.h
Normal 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_ACTIVITYLOGENTRYSTARTMESSAGE_H
|
||||
#define JELLYFIN_DTO_ACTIVITYLOGENTRYSTARTMESSAGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/sessionmessagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class ActivityLogEntryStartMessage {
|
||||
public:
|
||||
ActivityLogEntryStartMessage(
|
||||
SessionMessageType messageType
|
||||
);
|
||||
|
||||
ActivityLogEntryStartMessage(const ActivityLogEntryStartMessage &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ActivityLogEntryStartMessage &other);
|
||||
|
||||
static ActivityLogEntryStartMessage fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the data.
|
||||
*/
|
||||
QString data() const;
|
||||
/**
|
||||
* @brief Gets or sets the data.
|
||||
*/
|
||||
void setData(QString newData);
|
||||
bool dataNull() const;
|
||||
void setDataNull();
|
||||
|
||||
|
||||
SessionMessageType messageType() const;
|
||||
|
||||
void setMessageType(SessionMessageType newMessageType);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_data;
|
||||
SessionMessageType m_messageType;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ActivityLogEntryStartMessage::fromJson();
|
||||
ActivityLogEntryStartMessage();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ActivityLogEntryStartMessage = Jellyfin::DTO::ActivityLogEntryStartMessage;
|
||||
|
||||
template <>
|
||||
ActivityLogEntryStartMessage fromJsonValue(const QJsonValue &source, convertType<ActivityLogEntryStartMessage>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ActivityLogEntryStartMessage &source, convertType<ActivityLogEntryStartMessage>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_ACTIVITYLOGENTRYSTARTMESSAGE_H
|
96
core/include/JellyfinQt/dto/activitylogentrystopmessage.h
Normal file
96
core/include/JellyfinQt/dto/activitylogentrystopmessage.h
Normal 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_ACTIVITYLOGENTRYSTOPMESSAGE_H
|
||||
#define JELLYFIN_DTO_ACTIVITYLOGENTRYSTOPMESSAGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/sessionmessagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class ActivityLogEntryStopMessage {
|
||||
public:
|
||||
ActivityLogEntryStopMessage(
|
||||
SessionMessageType messageType
|
||||
);
|
||||
|
||||
ActivityLogEntryStopMessage(const ActivityLogEntryStopMessage &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ActivityLogEntryStopMessage &other);
|
||||
|
||||
static ActivityLogEntryStopMessage fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
SessionMessageType messageType() const;
|
||||
|
||||
void setMessageType(SessionMessageType newMessageType);
|
||||
|
||||
|
||||
protected:
|
||||
SessionMessageType m_messageType;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ActivityLogEntryStopMessage::fromJson();
|
||||
ActivityLogEntryStopMessage();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ActivityLogEntryStopMessage = Jellyfin::DTO::ActivityLogEntryStopMessage;
|
||||
|
||||
template <>
|
||||
ActivityLogEntryStopMessage fromJsonValue(const QJsonValue &source, convertType<ActivityLogEntryStopMessage>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ActivityLogEntryStopMessage &source, convertType<ActivityLogEntryStopMessage>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_ACTIVITYLOGENTRYSTOPMESSAGE_H
|
|
@ -51,8 +51,11 @@ namespace DTO {
|
|||
|
||||
class AlbumInfo {
|
||||
public:
|
||||
AlbumInfo(
|
||||
bool isAutomated
|
||||
AlbumInfo(
|
||||
bool isAutomated,
|
||||
QStringList albumArtists,
|
||||
QJsonObject artistProviderIds,
|
||||
QList<SongInfo> songInfos
|
||||
);
|
||||
|
||||
AlbumInfo(const AlbumInfo &other);
|
||||
|
@ -78,6 +81,17 @@ public:
|
|||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
QString originalTitle() const;
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
void setOriginalTitle(QString newOriginalTitle);
|
||||
bool originalTitleNull() const;
|
||||
void setOriginalTitleNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the path.
|
||||
*/
|
||||
|
@ -167,8 +181,6 @@ public:
|
|||
* @brief Gets or sets the album artist.
|
||||
*/
|
||||
void setAlbumArtists(QStringList newAlbumArtists);
|
||||
bool albumArtistsNull() const;
|
||||
void setAlbumArtistsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the artist provider ids.
|
||||
|
@ -178,19 +190,16 @@ public:
|
|||
* @brief Gets or sets the artist provider ids.
|
||||
*/
|
||||
void setArtistProviderIds(QJsonObject newArtistProviderIds);
|
||||
bool artistProviderIdsNull() const;
|
||||
void setArtistProviderIdsNull();
|
||||
|
||||
|
||||
QList<SongInfo> songInfos() const;
|
||||
|
||||
void setSongInfos(QList<SongInfo> newSongInfos);
|
||||
bool songInfosNull() const;
|
||||
void setSongInfosNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_originalTitle;
|
||||
QString m_path;
|
||||
QString m_metadataLanguage;
|
||||
QString m_metadataCountryCode;
|
||||
|
|
|
@ -78,11 +78,11 @@ public:
|
|||
void setItemId(QString newItemId);
|
||||
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
QString searchProviderName() const;
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
void setSearchProviderName(QString newSearchProviderName);
|
||||
bool searchProviderNameNull() const;
|
||||
|
|
|
@ -51,8 +51,9 @@ namespace DTO {
|
|||
|
||||
class ArtistInfo {
|
||||
public:
|
||||
ArtistInfo(
|
||||
bool isAutomated
|
||||
ArtistInfo(
|
||||
bool isAutomated,
|
||||
QList<SongInfo> songInfos
|
||||
);
|
||||
|
||||
ArtistInfo(const ArtistInfo &other);
|
||||
|
@ -78,6 +79,17 @@ public:
|
|||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
QString originalTitle() const;
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
void setOriginalTitle(QString newOriginalTitle);
|
||||
bool originalTitleNull() const;
|
||||
void setOriginalTitleNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the path.
|
||||
*/
|
||||
|
@ -163,12 +175,11 @@ public:
|
|||
QList<SongInfo> songInfos() const;
|
||||
|
||||
void setSongInfos(QList<SongInfo> newSongInfos);
|
||||
bool songInfosNull() const;
|
||||
void setSongInfosNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_originalTitle;
|
||||
QString m_path;
|
||||
QString m_metadataLanguage;
|
||||
QString m_metadataCountryCode;
|
||||
|
|
|
@ -78,11 +78,11 @@ public:
|
|||
void setItemId(QString newItemId);
|
||||
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
QString searchProviderName() const;
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
void setSearchProviderName(QString newSearchProviderName);
|
||||
bool searchProviderNameNull() const;
|
||||
|
|
77
core/include/JellyfinQt/dto/audiospatialformat.h
Normal file
77
core/include/JellyfinQt/dto/audiospatialformat.h
Normal 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_AUDIOSPATIALFORMAT_H
|
||||
#define JELLYFIN_DTO_AUDIOSPATIALFORMAT_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class AudioSpatialFormatClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
None,
|
||||
DolbyAtmos,
|
||||
DTSX,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit AudioSpatialFormatClass();
|
||||
};
|
||||
|
||||
using AudioSpatialFormat = AudioSpatialFormatClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using AudioSpatialFormat = Jellyfin::DTO::AudioSpatialFormat;
|
||||
|
||||
template <>
|
||||
AudioSpatialFormat fromJsonValue(const QJsonValue &source, convertType<AudioSpatialFormat>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const AudioSpatialFormat &source, convertType<AudioSpatialFormat>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_AUDIOSPATIALFORMAT_H
|
|
@ -81,22 +81,10 @@ public: AuthenticateUserByName();
|
|||
bool pwNull() const;
|
||||
void setPwNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the sha1-hashed password.
|
||||
*/
|
||||
QString password() const;
|
||||
/**
|
||||
* @brief Gets or sets the sha1-hashed password.
|
||||
*/
|
||||
void setPassword(QString newPassword);
|
||||
bool passwordNull() const;
|
||||
void setPasswordNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_username;
|
||||
QString m_pw;
|
||||
QString m_password;
|
||||
|
||||
|
||||
};
|
||||
|
|
|
@ -49,7 +49,8 @@ namespace DTO {
|
|||
|
||||
class AuthenticationInfoQueryResult {
|
||||
public:
|
||||
AuthenticationInfoQueryResult(
|
||||
AuthenticationInfoQueryResult(
|
||||
QList<AuthenticationInfo> items,
|
||||
qint32 totalRecordCount,
|
||||
qint32 startIndex
|
||||
);
|
||||
|
@ -74,24 +75,22 @@ public:
|
|||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<AuthenticationInfo> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
qint32 totalRecordCount() const;
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
void setTotalRecordCount(qint32 newTotalRecordCount);
|
||||
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
qint32 startIndex() const;
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
void setStartIndex(qint32 newStartIndex);
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/sessioninfo.h"
|
||||
#include "JellyfinQt/dto/sessioninfodto.h"
|
||||
#include "JellyfinQt/dto/userdto.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
|
@ -52,7 +52,7 @@ class AuthenticationResult {
|
|||
public:
|
||||
AuthenticationResult(
|
||||
QSharedPointer<UserDto> user,
|
||||
QSharedPointer<SessionInfo> sessionInfo
|
||||
QSharedPointer<SessionInfoDto> sessionInfo
|
||||
);
|
||||
|
||||
AuthenticationResult(const AuthenticationResult &other);
|
||||
|
@ -73,20 +73,28 @@ public:
|
|||
void setUser(QSharedPointer<UserDto> newUser);
|
||||
|
||||
|
||||
QSharedPointer<SessionInfo> sessionInfo() const;
|
||||
|
||||
void setSessionInfo(QSharedPointer<SessionInfo> newSessionInfo);
|
||||
QSharedPointer<SessionInfoDto> sessionInfo() const;
|
||||
|
||||
void setSessionInfo(QSharedPointer<SessionInfoDto> newSessionInfo);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the access token.
|
||||
*/
|
||||
QString accessToken() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the access token.
|
||||
*/
|
||||
void setAccessToken(QString newAccessToken);
|
||||
bool accessTokenNull() const;
|
||||
void setAccessTokenNull();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the server id.
|
||||
*/
|
||||
QString serverId() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the server id.
|
||||
*/
|
||||
void setServerId(QString newServerId);
|
||||
bool serverIdNull() const;
|
||||
void setServerIdNull();
|
||||
|
@ -94,7 +102,7 @@ public:
|
|||
|
||||
protected:
|
||||
QSharedPointer<UserDto> m_user = QSharedPointer<UserDto>();
|
||||
QSharedPointer<SessionInfo> m_sessionInfo = QSharedPointer<SessionInfo>();
|
||||
QSharedPointer<SessionInfoDto> m_sessionInfo = QSharedPointer<SessionInfoDto>();
|
||||
QString m_accessToken;
|
||||
QString m_serverId;
|
||||
|
||||
|
|
|
@ -1,179 +0,0 @@
|
|||
/*
|
||||
* 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 <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/mediaurl.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class BaseItem {
|
||||
public:
|
||||
BaseItem(
|
||||
QDateTime dateLastSaved,
|
||||
bool isHD,
|
||||
bool isShortcut,
|
||||
qint32 width,
|
||||
qint32 height,
|
||||
bool supportsExternalTransfer
|
||||
);
|
||||
|
||||
BaseItem(const BaseItem &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(BaseItem &other);
|
||||
|
||||
static BaseItem fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
std::optional<qint64> size() const;
|
||||
|
||||
void setSize(std::optional<qint64> newSize);
|
||||
bool sizeNull() const;
|
||||
void setSizeNull();
|
||||
|
||||
|
||||
QString container() const;
|
||||
|
||||
void setContainer(QString newContainer);
|
||||
bool containerNull() const;
|
||||
void setContainerNull();
|
||||
|
||||
|
||||
QDateTime dateLastSaved() const;
|
||||
|
||||
void setDateLastSaved(QDateTime newDateLastSaved);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the remote trailers.
|
||||
*/
|
||||
QList<MediaUrl> remoteTrailers() const;
|
||||
/**
|
||||
* @brief Gets or sets the remote trailers.
|
||||
*/
|
||||
void setRemoteTrailers(QList<MediaUrl> newRemoteTrailers);
|
||||
bool remoteTrailersNull() const;
|
||||
void setRemoteTrailersNull();
|
||||
|
||||
|
||||
bool isHD() const;
|
||||
|
||||
void setIsHD(bool newIsHD);
|
||||
|
||||
|
||||
bool isShortcut() const;
|
||||
|
||||
void setIsShortcut(bool newIsShortcut);
|
||||
|
||||
|
||||
QString shortcutPath() const;
|
||||
|
||||
void setShortcutPath(QString newShortcutPath);
|
||||
bool shortcutPathNull() const;
|
||||
void setShortcutPathNull();
|
||||
|
||||
|
||||
qint32 width() const;
|
||||
|
||||
void setWidth(qint32 newWidth);
|
||||
|
||||
|
||||
qint32 height() const;
|
||||
|
||||
void setHeight(qint32 newHeight);
|
||||
|
||||
|
||||
QStringList extraIds() const;
|
||||
|
||||
void setExtraIds(QStringList newExtraIds);
|
||||
bool extraIdsNull() const;
|
||||
void setExtraIdsNull();
|
||||
|
||||
|
||||
bool supportsExternalTransfer() const;
|
||||
|
||||
void setSupportsExternalTransfer(bool newSupportsExternalTransfer);
|
||||
|
||||
|
||||
protected:
|
||||
std::optional<qint64> m_size = std::nullopt;
|
||||
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;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing BaseItem::fromJson();
|
||||
BaseItem();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using BaseItem = Jellyfin::DTO::BaseItem;
|
||||
|
||||
template <>
|
||||
BaseItem fromJsonValue(const QJsonValue &source, convertType<BaseItem>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const BaseItem &source, convertType<BaseItem>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_BASEITEM_H
|
|
@ -39,16 +39,20 @@
|
|||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/baseitemkind.h"
|
||||
#include "JellyfinQt/dto/baseitemperson.h"
|
||||
#include "JellyfinQt/dto/channeltype.h"
|
||||
#include "JellyfinQt/dto/chapterinfo.h"
|
||||
#include "JellyfinQt/dto/collectiontype.h"
|
||||
#include "JellyfinQt/dto/dayofweek.h"
|
||||
#include "JellyfinQt/dto/externalurl.h"
|
||||
#include "JellyfinQt/dto/extratype.h"
|
||||
#include "JellyfinQt/dto/imageorientation.h"
|
||||
#include "JellyfinQt/dto/isotype.h"
|
||||
#include "JellyfinQt/dto/locationtype.h"
|
||||
#include "JellyfinQt/dto/mediasourceinfo.h"
|
||||
#include "JellyfinQt/dto/mediastream.h"
|
||||
#include "JellyfinQt/dto/mediatype.h"
|
||||
#include "JellyfinQt/dto/mediaurl.h"
|
||||
#include "JellyfinQt/dto/metadatafield.h"
|
||||
#include "JellyfinQt/dto/nameguidpair.h"
|
||||
|
@ -70,16 +74,20 @@ namespace DTO {
|
|||
class BaseItemDto {
|
||||
public:
|
||||
BaseItemDto(
|
||||
QString jellyfinId,
|
||||
QString jellyfinId,
|
||||
ExtraType extraType,
|
||||
Video3DFormat video3DFormat,
|
||||
PlayAccess playAccess,
|
||||
QSharedPointer<UserItemDataDto> userData,
|
||||
VideoType videoType,
|
||||
PlayAccess playAccess,
|
||||
BaseItemKind type,
|
||||
QSharedPointer<UserItemDataDto> userData,
|
||||
CollectionType collectionType,
|
||||
VideoType videoType,
|
||||
LocationType locationType,
|
||||
IsoType isoType,
|
||||
IsoType isoType,
|
||||
MediaType mediaType,
|
||||
ImageOrientation imageOrientation,
|
||||
ChannelType channelType,
|
||||
ProgramAudio audio,
|
||||
ProgramAudio audio,
|
||||
QSharedPointer<BaseItemDto> currentProgram
|
||||
);
|
||||
|
||||
|
@ -185,11 +193,9 @@ public:
|
|||
void setDateLastMediaAddedNull();
|
||||
|
||||
|
||||
QString extraType() const;
|
||||
ExtraType extraType() const;
|
||||
|
||||
void setExtraType(QString newExtraType);
|
||||
bool extraTypeNull() const;
|
||||
void setExtraTypeNull();
|
||||
void setExtraType(ExtraType newExtraType);
|
||||
|
||||
|
||||
std::optional<qint32> airsBeforeSeasonNumber() const;
|
||||
|
@ -227,6 +233,13 @@ public:
|
|||
void setCanDownloadNull();
|
||||
|
||||
|
||||
std::optional<bool> hasLyrics() const;
|
||||
|
||||
void setHasLyrics(std::optional<bool> newHasLyrics);
|
||||
bool hasLyricsNull() const;
|
||||
void setHasLyricsNull();
|
||||
|
||||
|
||||
std::optional<bool> hasSubtitles() const;
|
||||
|
||||
void setHasSubtitles(std::optional<bool> newHasSubtitles);
|
||||
|
@ -247,17 +260,6 @@ public:
|
|||
bool preferredMetadataCountryCodeNull() const;
|
||||
void setPreferredMetadataCountryCodeNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether [supports synchronize].
|
||||
*/
|
||||
std::optional<bool> supportsSync() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether [supports synchronize].
|
||||
*/
|
||||
void setSupportsSync(std::optional<bool> newSupportsSync);
|
||||
bool supportsSyncNull() const;
|
||||
void setSupportsSyncNull();
|
||||
|
||||
|
||||
QString container() const;
|
||||
|
||||
|
@ -607,16 +609,10 @@ public:
|
|||
bool parentIdNull() const;
|
||||
void setParentIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the type.
|
||||
*/
|
||||
QString type() const;
|
||||
/**
|
||||
* @brief Gets or sets the type.
|
||||
*/
|
||||
void setType(QString newType);
|
||||
bool typeNull() const;
|
||||
void setTypeNull();
|
||||
|
||||
BaseItemKind type() const;
|
||||
|
||||
void setType(BaseItemKind newType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the people.
|
||||
|
@ -648,22 +644,22 @@ public:
|
|||
void setGenreItemsNull();
|
||||
|
||||
/**
|
||||
* @brief If the item does not have a logo, this will hold the Id of the Parent that has one.
|
||||
* @brief Gets or sets whether the item has a logo, this will hold the Id of the Parent that has one.
|
||||
*/
|
||||
QString parentLogoItemId() const;
|
||||
/**
|
||||
* @brief If the item does not have a logo, this will hold the Id of the Parent that has one.
|
||||
* @brief Gets or sets whether the item has a logo, this will hold the Id of the Parent that has one.
|
||||
*/
|
||||
void setParentLogoItemId(QString newParentLogoItemId);
|
||||
bool parentLogoItemIdNull() const;
|
||||
void setParentLogoItemIdNull();
|
||||
|
||||
/**
|
||||
* @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one.
|
||||
* @brief Gets or sets whether the item has any backdrops, this will hold the Id of the Parent that has one.
|
||||
*/
|
||||
QString parentBackdropItemId() const;
|
||||
/**
|
||||
* @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one.
|
||||
* @brief Gets or sets whether the item has any backdrops, this will hold the Id of the Parent that has one.
|
||||
*/
|
||||
void setParentBackdropItemId(QString newParentBackdropItemId);
|
||||
bool parentBackdropItemIdNull() const;
|
||||
|
@ -861,16 +857,10 @@ public:
|
|||
bool albumNull() const;
|
||||
void setAlbumNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the type of the collection.
|
||||
*/
|
||||
QString collectionType() const;
|
||||
/**
|
||||
* @brief Gets or sets the type of the collection.
|
||||
*/
|
||||
void setCollectionType(QString newCollectionType);
|
||||
bool collectionTypeNull() const;
|
||||
void setCollectionTypeNull();
|
||||
|
||||
CollectionType collectionType() const;
|
||||
|
||||
void setCollectionType(CollectionType newCollectionType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the display order.
|
||||
|
@ -1028,11 +1018,11 @@ public:
|
|||
void setParentLogoImageTagNull();
|
||||
|
||||
/**
|
||||
* @brief If the item does not have a art, this will hold the Id of the Parent that has one.
|
||||
* @brief Gets or sets whether the item has fan art, this will hold the Id of the Parent that has one.
|
||||
*/
|
||||
QString parentArtItemId() const;
|
||||
/**
|
||||
* @brief If the item does not have a art, this will hold the Id of the Parent that has one.
|
||||
* @brief Gets or sets whether the item has fan art, this will hold the Id of the Parent that has one.
|
||||
*/
|
||||
void setParentArtItemId(QString newParentArtItemId);
|
||||
bool parentArtItemIdNull() const;
|
||||
|
@ -1139,6 +1129,17 @@ Maps image type to dictionary mapping image tag to blurhash value.
|
|||
bool chaptersNull() const;
|
||||
void setChaptersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the trickplay manifest.
|
||||
*/
|
||||
QJsonObject trickplay() const;
|
||||
/**
|
||||
* @brief Gets or sets the trickplay manifest.
|
||||
*/
|
||||
void setTrickplay(QJsonObject newTrickplay);
|
||||
bool trickplayNull() const;
|
||||
void setTrickplayNull();
|
||||
|
||||
|
||||
LocationType locationType() const;
|
||||
|
||||
|
@ -1149,16 +1150,10 @@ Maps image type to dictionary mapping image tag to blurhash value.
|
|||
|
||||
void setIsoType(IsoType newIsoType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the type of the media.
|
||||
*/
|
||||
QString mediaType() const;
|
||||
/**
|
||||
* @brief Gets or sets the type of the media.
|
||||
*/
|
||||
void setMediaType(QString newMediaType);
|
||||
bool mediaTypeNull() const;
|
||||
void setMediaTypeNull();
|
||||
|
||||
MediaType mediaType() const;
|
||||
|
||||
void setMediaType(MediaType newMediaType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the end date.
|
||||
|
@ -1414,11 +1409,11 @@ Maps image type to dictionary mapping image tag to blurhash value.
|
|||
void setChannelPrimaryImageTagNull();
|
||||
|
||||
/**
|
||||
* @brief The start date of the recording, in UTC.
|
||||
* @brief Gets or sets the start date of the recording, in UTC.
|
||||
*/
|
||||
QDateTime startDate() const;
|
||||
/**
|
||||
* @brief The start date of the recording, in UTC.
|
||||
* @brief Gets or sets the start date of the recording, in UTC.
|
||||
*/
|
||||
void setStartDate(QDateTime newStartDate);
|
||||
bool startDateNull() const;
|
||||
|
@ -1555,6 +1550,17 @@ Maps image type to dictionary mapping image tag to blurhash value.
|
|||
bool timerIdNull() const;
|
||||
void setTimerIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the gain required for audio normalization.
|
||||
*/
|
||||
std::optional<float> normalizationGain() const;
|
||||
/**
|
||||
* @brief Gets or sets the gain required for audio normalization.
|
||||
*/
|
||||
void setNormalizationGain(std::optional<float> newNormalizationGain);
|
||||
bool normalizationGainNull() const;
|
||||
void setNormalizationGainNull();
|
||||
|
||||
|
||||
QSharedPointer<BaseItemDto> currentProgram() const;
|
||||
|
||||
|
@ -1571,16 +1577,16 @@ protected:
|
|||
QString m_playlistItemId;
|
||||
QDateTime m_dateCreated;
|
||||
QDateTime m_dateLastMediaAdded;
|
||||
QString m_extraType;
|
||||
ExtraType m_extraType;
|
||||
std::optional<qint32> m_airsBeforeSeasonNumber = std::nullopt;
|
||||
std::optional<qint32> m_airsAfterSeasonNumber = std::nullopt;
|
||||
std::optional<qint32> m_airsBeforeEpisodeNumber = std::nullopt;
|
||||
std::optional<bool> m_canDelete = std::nullopt;
|
||||
std::optional<bool> m_canDownload = std::nullopt;
|
||||
std::optional<bool> m_hasLyrics = 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;
|
||||
|
@ -1616,7 +1622,7 @@ protected:
|
|||
std::optional<bool> m_isHD = std::nullopt;
|
||||
std::optional<bool> m_isFolder = std::nullopt;
|
||||
QString m_parentId;
|
||||
QString m_type;
|
||||
BaseItemKind m_type;
|
||||
QList<BaseItemPerson> m_people;
|
||||
QList<NameGuidPair> m_studios;
|
||||
QList<NameGuidPair> m_genreItems;
|
||||
|
@ -1640,7 +1646,7 @@ protected:
|
|||
QStringList m_artists;
|
||||
QList<NameGuidPair> m_artistItems;
|
||||
QString m_album;
|
||||
QString m_collectionType;
|
||||
CollectionType m_collectionType;
|
||||
QString m_displayOrder;
|
||||
QString m_albumId;
|
||||
QString m_albumPrimaryImageTag;
|
||||
|
@ -1666,9 +1672,10 @@ protected:
|
|||
QString m_parentPrimaryImageItemId;
|
||||
QString m_parentPrimaryImageTag;
|
||||
QList<ChapterInfo> m_chapters;
|
||||
QJsonObject m_trickplay;
|
||||
LocationType m_locationType;
|
||||
IsoType m_isoType;
|
||||
QString m_mediaType;
|
||||
MediaType m_mediaType;
|
||||
QDateTime m_endDate;
|
||||
QList<MetadataField> m_lockedFields;
|
||||
std::optional<qint32> m_trailerCount = std::nullopt;
|
||||
|
@ -1712,6 +1719,7 @@ protected:
|
|||
std::optional<bool> m_isKids = std::nullopt;
|
||||
std::optional<bool> m_isPremiere = std::nullopt;
|
||||
QString m_timerId;
|
||||
std::optional<float> m_normalizationGain = std::nullopt;
|
||||
QSharedPointer<BaseItemDto> m_currentProgram = QSharedPointer<BaseItemDto>();
|
||||
|
||||
private:
|
||||
|
|
|
@ -49,7 +49,8 @@ namespace DTO {
|
|||
|
||||
class BaseItemDtoQueryResult {
|
||||
public:
|
||||
BaseItemDtoQueryResult(
|
||||
BaseItemDtoQueryResult(
|
||||
QList<BaseItemDto> items,
|
||||
qint32 totalRecordCount,
|
||||
qint32 startIndex
|
||||
);
|
||||
|
@ -74,24 +75,22 @@ public:
|
|||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<BaseItemDto> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
qint32 totalRecordCount() const;
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
void setTotalRecordCount(qint32 newTotalRecordCount);
|
||||
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
qint32 startIndex() const;
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
void setStartIndex(qint32 newStartIndex);
|
||||
|
||||
|
|
111
core/include/JellyfinQt/dto/baseitemkind.h
Normal file
111
core/include/JellyfinQt/dto/baseitemkind.h
Normal file
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* 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_BASEITEMKIND_H
|
||||
#define JELLYFIN_DTO_BASEITEMKIND_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class BaseItemKindClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
AggregateFolder,
|
||||
Audio,
|
||||
AudioBook,
|
||||
BasePluginFolder,
|
||||
Book,
|
||||
BoxSet,
|
||||
Channel,
|
||||
ChannelFolderItem,
|
||||
CollectionFolder,
|
||||
Episode,
|
||||
Folder,
|
||||
Genre,
|
||||
ManualPlaylistsFolder,
|
||||
Movie,
|
||||
LiveTvChannel,
|
||||
LiveTvProgram,
|
||||
MusicAlbum,
|
||||
MusicArtist,
|
||||
MusicGenre,
|
||||
MusicVideo,
|
||||
Person,
|
||||
Photo,
|
||||
PhotoAlbum,
|
||||
Playlist,
|
||||
PlaylistsFolder,
|
||||
Program,
|
||||
Recording,
|
||||
Season,
|
||||
Series,
|
||||
Studio,
|
||||
Trailer,
|
||||
TvChannel,
|
||||
TvProgram,
|
||||
UserRootFolder,
|
||||
UserView,
|
||||
Video,
|
||||
Year,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit BaseItemKindClass();
|
||||
};
|
||||
|
||||
using BaseItemKind = BaseItemKindClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using BaseItemKind = Jellyfin::DTO::BaseItemKind;
|
||||
|
||||
template <>
|
||||
BaseItemKind fromJsonValue(const QJsonValue &source, convertType<BaseItemKind>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const BaseItemKind &source, convertType<BaseItemKind>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_BASEITEMKIND_H
|
|
@ -35,6 +35,7 @@
|
|||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/personkind.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -46,7 +47,12 @@ namespace DTO {
|
|||
|
||||
|
||||
class BaseItemPerson {
|
||||
public: BaseItemPerson();
|
||||
public:
|
||||
BaseItemPerson(
|
||||
QString jellyfinId,
|
||||
PersonKind type
|
||||
);
|
||||
|
||||
BaseItemPerson(const BaseItemPerson &other);
|
||||
|
||||
/**
|
||||
|
@ -78,8 +84,6 @@ public: BaseItemPerson();
|
|||
* @brief Gets or sets the identifier.
|
||||
*/
|
||||
void setJellyfinId(QString newJellyfinId);
|
||||
bool jellyfinIdNull() const;
|
||||
void setJellyfinIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the role.
|
||||
|
@ -92,16 +96,10 @@ public: BaseItemPerson();
|
|||
bool roleNull() const;
|
||||
void setRoleNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the type.
|
||||
*/
|
||||
QString type() const;
|
||||
/**
|
||||
* @brief Gets or sets the type.
|
||||
*/
|
||||
void setType(QString newType);
|
||||
bool typeNull() const;
|
||||
void setTypeNull();
|
||||
|
||||
PersonKind type() const;
|
||||
|
||||
void setType(PersonKind newType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the primary image tag.
|
||||
|
@ -130,11 +128,13 @@ protected:
|
|||
QString m_name;
|
||||
QString m_jellyfinId;
|
||||
QString m_role;
|
||||
QString m_type;
|
||||
PersonKind m_type;
|
||||
QString m_primaryImageTag;
|
||||
QJsonObject m_imageBlurHashes;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing BaseItemPerson::fromJson();
|
||||
BaseItemPerson();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ namespace DTO {
|
|||
|
||||
class BookInfo {
|
||||
public:
|
||||
BookInfo(
|
||||
BookInfo(
|
||||
bool isAutomated
|
||||
);
|
||||
|
||||
|
@ -75,6 +75,17 @@ public:
|
|||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
QString originalTitle() const;
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
void setOriginalTitle(QString newOriginalTitle);
|
||||
bool originalTitleNull() const;
|
||||
void setOriginalTitleNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the path.
|
||||
*/
|
||||
|
@ -166,6 +177,7 @@ public:
|
|||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_originalTitle;
|
||||
QString m_path;
|
||||
QString m_metadataLanguage;
|
||||
QString m_metadataCountryCode;
|
||||
|
|
|
@ -78,11 +78,11 @@ public:
|
|||
void setItemId(QString newItemId);
|
||||
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
QString searchProviderName() const;
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
void setSearchProviderName(QString newSearchProviderName);
|
||||
bool searchProviderNameNull() const;
|
||||
|
|
|
@ -48,7 +48,7 @@ namespace DTO {
|
|||
|
||||
class BoxSetInfo {
|
||||
public:
|
||||
BoxSetInfo(
|
||||
BoxSetInfo(
|
||||
bool isAutomated
|
||||
);
|
||||
|
||||
|
@ -75,6 +75,17 @@ public:
|
|||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
QString originalTitle() const;
|
||||
/**
|
||||
* @brief Gets or sets the original title.
|
||||
*/
|
||||
void setOriginalTitle(QString newOriginalTitle);
|
||||
bool originalTitleNull() const;
|
||||
void setOriginalTitleNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the path.
|
||||
*/
|
||||
|
@ -159,6 +170,7 @@ public:
|
|||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_originalTitle;
|
||||
QString m_path;
|
||||
QString m_metadataLanguage;
|
||||
QString m_metadataCountryCode;
|
||||
|
|
|
@ -78,11 +78,11 @@ public:
|
|||
void setItemId(QString newItemId);
|
||||
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
QString searchProviderName() const;
|
||||
/**
|
||||
* @brief Will only search within the given provider when set.
|
||||
* @brief Gets or sets the provider name to search within if set.
|
||||
*/
|
||||
void setSearchProviderName(QString newSearchProviderName);
|
||||
bool searchProviderNameNull() const;
|
||||
|
|
|
@ -46,7 +46,11 @@ namespace DTO {
|
|||
|
||||
|
||||
class BrandingOptions {
|
||||
public: BrandingOptions();
|
||||
public:
|
||||
BrandingOptions(
|
||||
bool splashscreenEnabled
|
||||
);
|
||||
|
||||
BrandingOptions(const BrandingOptions &other);
|
||||
|
||||
/**
|
||||
|
@ -81,12 +85,24 @@ public: BrandingOptions();
|
|||
bool customCssNull() const;
|
||||
void setCustomCssNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether to enable the splashscreen.
|
||||
*/
|
||||
bool splashscreenEnabled() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether to enable the splashscreen.
|
||||
*/
|
||||
void setSplashscreenEnabled(bool newSplashscreenEnabled);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_loginDisclaimer;
|
||||
QString m_customCss;
|
||||
bool m_splashscreenEnabled;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing BrandingOptions::fromJson();
|
||||
BrandingOptions();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -27,15 +27,14 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_DEVICEPROFILEINFO_H
|
||||
#define JELLYFIN_DTO_DEVICEPROFILEINFO_H
|
||||
#ifndef JELLYFIN_DTO_CASTRECEIVERAPPLICATION_H
|
||||
#define JELLYFIN_DTO_CASTRECEIVERAPPLICATION_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/deviceprofiletype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -46,60 +45,51 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class DeviceProfileInfo {
|
||||
class CastReceiverApplication {
|
||||
public:
|
||||
DeviceProfileInfo(
|
||||
DeviceProfileType type
|
||||
CastReceiverApplication(
|
||||
QString jellyfinId,
|
||||
QString name
|
||||
);
|
||||
|
||||
DeviceProfileInfo(const DeviceProfileInfo &other);
|
||||
CastReceiverApplication(const CastReceiverApplication &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(DeviceProfileInfo &other);
|
||||
void replaceData(CastReceiverApplication &other);
|
||||
|
||||
static DeviceProfileInfo fromJson(QJsonObject source);
|
||||
static CastReceiverApplication fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the identifier.
|
||||
* @brief Gets or sets the cast receiver application id.
|
||||
*/
|
||||
QString jellyfinId() const;
|
||||
/**
|
||||
* @brief Gets or sets the identifier.
|
||||
* @brief Gets or sets the cast receiver application id.
|
||||
*/
|
||||
void setJellyfinId(QString newJellyfinId);
|
||||
bool jellyfinIdNull() const;
|
||||
void setJellyfinIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the name.
|
||||
* @brief Gets or sets the cast receiver application name.
|
||||
*/
|
||||
QString name() const;
|
||||
/**
|
||||
* @brief Gets or sets the name.
|
||||
* @brief Gets or sets the cast receiver application name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
|
||||
DeviceProfileType type() const;
|
||||
|
||||
void setType(DeviceProfileType newType);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_jellyfinId;
|
||||
QString m_name;
|
||||
DeviceProfileType m_type;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing DeviceProfileInfo::fromJson();
|
||||
DeviceProfileInfo();
|
||||
// Private constructor which generates an invalid object, for use withing CastReceiverApplication::fromJson();
|
||||
CastReceiverApplication();
|
||||
};
|
||||
|
||||
|
||||
|
@ -107,15 +97,15 @@ private:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using DeviceProfileInfo = Jellyfin::DTO::DeviceProfileInfo;
|
||||
using CastReceiverApplication = Jellyfin::DTO::CastReceiverApplication;
|
||||
|
||||
template <>
|
||||
DeviceProfileInfo fromJsonValue(const QJsonValue &source, convertType<DeviceProfileInfo>);
|
||||
CastReceiverApplication fromJsonValue(const QJsonValue &source, convertType<CastReceiverApplication>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const DeviceProfileInfo &source, convertType<DeviceProfileInfo>);
|
||||
QJsonValue toJsonValue(const CastReceiverApplication &source, convertType<CastReceiverApplication>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_DEVICEPROFILEINFO_H
|
||||
#endif // JELLYFIN_DTO_CASTRECEIVERAPPLICATION_H
|
|
@ -52,8 +52,13 @@ namespace DTO {
|
|||
|
||||
class ChannelFeatures {
|
||||
public:
|
||||
ChannelFeatures(
|
||||
bool canSearch,
|
||||
ChannelFeatures(
|
||||
QString name,
|
||||
QString jellyfinId,
|
||||
bool canSearch,
|
||||
QList<ChannelMediaType> mediaTypes,
|
||||
QList<ChannelMediaContentType> contentTypes,
|
||||
QList<ChannelItemSortField> defaultSortFields,
|
||||
bool supportsSortOrderToggle,
|
||||
bool supportsLatestMedia,
|
||||
bool canFilter,
|
||||
|
@ -80,8 +85,6 @@ public:
|
|||
* @brief Gets or sets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the identifier.
|
||||
|
@ -91,8 +94,6 @@ public:
|
|||
* @brief Gets or sets the identifier.
|
||||
*/
|
||||
void setJellyfinId(QString newJellyfinId);
|
||||
bool jellyfinIdNull() const;
|
||||
void setJellyfinIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether this instance can search.
|
||||
|
@ -111,8 +112,6 @@ public:
|
|||
* @brief Gets or sets the media types.
|
||||
*/
|
||||
void setMediaTypes(QList<ChannelMediaType> newMediaTypes);
|
||||
bool mediaTypesNull() const;
|
||||
void setMediaTypesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the content types.
|
||||
|
@ -122,15 +121,13 @@ public:
|
|||
* @brief Gets or sets the content types.
|
||||
*/
|
||||
void setContentTypes(QList<ChannelMediaContentType> newContentTypes);
|
||||
bool contentTypesNull() const;
|
||||
void setContentTypesNull();
|
||||
|
||||
/**
|
||||
* @brief Represents the maximum number of records the channel allows retrieving at a time.
|
||||
* @brief Gets or sets the maximum number of records the channel allows retrieving at a time.
|
||||
*/
|
||||
std::optional<qint32> maxPageSize() const;
|
||||
/**
|
||||
* @brief Represents the maximum number of records the channel allows retrieving at a time.
|
||||
* @brief Gets or sets the maximum number of records the channel allows retrieving at a time.
|
||||
*/
|
||||
void setMaxPageSize(std::optional<qint32> newMaxPageSize);
|
||||
bool maxPageSizeNull() const;
|
||||
|
@ -155,15 +152,13 @@ public:
|
|||
* @brief Gets or sets the default sort orders.
|
||||
*/
|
||||
void setDefaultSortFields(QList<ChannelItemSortField> newDefaultSortFields);
|
||||
bool defaultSortFieldsNull() const;
|
||||
void setDefaultSortFieldsNull();
|
||||
|
||||
/**
|
||||
* @brief Indicates if a sort ascending/descending toggle is supported or not.
|
||||
* @brief Gets or sets a value indicating whether a sort ascending/descending toggle is supported.
|
||||
*/
|
||||
bool supportsSortOrderToggle() const;
|
||||
/**
|
||||
* @brief Indicates if a sort ascending/descending toggle is supported or not.
|
||||
* @brief Gets or sets a value indicating whether a sort ascending/descending toggle is supported.
|
||||
*/
|
||||
void setSupportsSortOrderToggle(bool newSupportsSortOrderToggle);
|
||||
|
||||
|
|
|
@ -51,7 +51,13 @@ namespace DTO {
|
|||
|
||||
|
||||
class ChannelMappingOptionsDto {
|
||||
public: ChannelMappingOptionsDto();
|
||||
public:
|
||||
ChannelMappingOptionsDto(
|
||||
QList<TunerChannelMapping> tunerChannels,
|
||||
QList<NameIdPair> providerChannels,
|
||||
QList<NameValuePair> mappings
|
||||
);
|
||||
|
||||
ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other);
|
||||
|
||||
/**
|
||||
|
@ -72,8 +78,6 @@ public: ChannelMappingOptionsDto();
|
|||
* @brief Gets or sets list of tuner channels.
|
||||
*/
|
||||
void setTunerChannels(QList<TunerChannelMapping> newTunerChannels);
|
||||
bool tunerChannelsNull() const;
|
||||
void setTunerChannelsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets list of provider channels.
|
||||
|
@ -83,8 +87,6 @@ public: ChannelMappingOptionsDto();
|
|||
* @brief Gets or sets list of provider channels.
|
||||
*/
|
||||
void setProviderChannels(QList<NameIdPair> newProviderChannels);
|
||||
bool providerChannelsNull() const;
|
||||
void setProviderChannelsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets list of mappings.
|
||||
|
@ -94,8 +96,6 @@ public: ChannelMappingOptionsDto();
|
|||
* @brief Gets or sets list of mappings.
|
||||
*/
|
||||
void setMappings(QList<NameValuePair> newMappings);
|
||||
bool mappingsNull() const;
|
||||
void setMappingsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets provider name.
|
||||
|
@ -115,7 +115,9 @@ protected:
|
|||
QList<NameValuePair> m_mappings;
|
||||
QString m_providerName;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ChannelMappingOptionsDto::fromJson();
|
||||
ChannelMappingOptionsDto();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1,169 +0,0 @@
|
|||
/*
|
||||
* 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 <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/deviceprofile.h"
|
||||
#include "JellyfinQt/dto/generalcommandtype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class ClientCapabilities {
|
||||
public:
|
||||
ClientCapabilities(
|
||||
bool supportsMediaControl,
|
||||
bool supportsContentUploading,
|
||||
bool supportsPersistentIdentifier,
|
||||
bool supportsSync,
|
||||
QSharedPointer<DeviceProfile> deviceProfile
|
||||
);
|
||||
|
||||
ClientCapabilities(const ClientCapabilities &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ClientCapabilities &other);
|
||||
|
||||
static ClientCapabilities fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
QStringList playableMediaTypes() const;
|
||||
|
||||
void setPlayableMediaTypes(QStringList newPlayableMediaTypes);
|
||||
bool playableMediaTypesNull() const;
|
||||
void setPlayableMediaTypesNull();
|
||||
|
||||
|
||||
QList<GeneralCommandType> supportedCommands() const;
|
||||
|
||||
void setSupportedCommands(QList<GeneralCommandType> newSupportedCommands);
|
||||
bool supportedCommandsNull() const;
|
||||
void setSupportedCommandsNull();
|
||||
|
||||
|
||||
bool supportsMediaControl() const;
|
||||
|
||||
void setSupportsMediaControl(bool newSupportsMediaControl);
|
||||
|
||||
|
||||
bool supportsContentUploading() const;
|
||||
|
||||
void setSupportsContentUploading(bool newSupportsContentUploading);
|
||||
|
||||
|
||||
QString messageCallbackUrl() const;
|
||||
|
||||
void setMessageCallbackUrl(QString newMessageCallbackUrl);
|
||||
bool messageCallbackUrlNull() const;
|
||||
void setMessageCallbackUrlNull();
|
||||
|
||||
|
||||
bool supportsPersistentIdentifier() const;
|
||||
|
||||
void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier);
|
||||
|
||||
|
||||
bool supportsSync() const;
|
||||
|
||||
void setSupportsSync(bool newSupportsSync);
|
||||
|
||||
|
||||
QSharedPointer<DeviceProfile> deviceProfile() const;
|
||||
|
||||
void setDeviceProfile(QSharedPointer<DeviceProfile> newDeviceProfile);
|
||||
|
||||
|
||||
QString appStoreUrl() const;
|
||||
|
||||
void setAppStoreUrl(QString newAppStoreUrl);
|
||||
bool appStoreUrlNull() const;
|
||||
void setAppStoreUrlNull();
|
||||
|
||||
|
||||
QString iconUrl() const;
|
||||
|
||||
void setIconUrl(QString newIconUrl);
|
||||
bool iconUrlNull() const;
|
||||
void setIconUrlNull();
|
||||
|
||||
|
||||
protected:
|
||||
QStringList m_playableMediaTypes;
|
||||
QList<GeneralCommandType> m_supportedCommands;
|
||||
bool m_supportsMediaControl;
|
||||
bool m_supportsContentUploading;
|
||||
QString m_messageCallbackUrl;
|
||||
bool m_supportsPersistentIdentifier;
|
||||
bool m_supportsSync;
|
||||
QSharedPointer<DeviceProfile> m_deviceProfile = QSharedPointer<DeviceProfile>();
|
||||
QString m_appStoreUrl;
|
||||
QString m_iconUrl;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ClientCapabilities::fromJson();
|
||||
ClientCapabilities();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ClientCapabilities = Jellyfin::DTO::ClientCapabilities;
|
||||
|
||||
template <>
|
||||
ClientCapabilities fromJsonValue(const QJsonValue &source, convertType<ClientCapabilities>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ClientCapabilities &source, convertType<ClientCapabilities>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_CLIENTCAPABILITIES_H
|
|
@ -40,6 +40,7 @@
|
|||
|
||||
#include "JellyfinQt/dto/deviceprofile.h"
|
||||
#include "JellyfinQt/dto/generalcommandtype.h"
|
||||
#include "JellyfinQt/dto/mediatype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -52,11 +53,11 @@ namespace DTO {
|
|||
|
||||
class ClientCapabilitiesDto {
|
||||
public:
|
||||
ClientCapabilitiesDto(
|
||||
ClientCapabilitiesDto(
|
||||
QList<MediaType> playableMediaTypes,
|
||||
QList<GeneralCommandType> supportedCommands,
|
||||
bool supportsMediaControl,
|
||||
bool supportsContentUploading,
|
||||
bool supportsPersistentIdentifier,
|
||||
bool supportsSync,
|
||||
QSharedPointer<DeviceProfile> deviceProfile
|
||||
);
|
||||
|
||||
|
@ -75,13 +76,11 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the list of playable media types.
|
||||
*/
|
||||
QStringList playableMediaTypes() const;
|
||||
QList<MediaType> playableMediaTypes() const;
|
||||
/**
|
||||
* @brief Gets or sets the list of playable media types.
|
||||
*/
|
||||
void setPlayableMediaTypes(QStringList newPlayableMediaTypes);
|
||||
bool playableMediaTypesNull() const;
|
||||
void setPlayableMediaTypesNull();
|
||||
void setPlayableMediaTypes(QList<MediaType> newPlayableMediaTypes);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of supported commands.
|
||||
|
@ -91,8 +90,6 @@ public:
|
|||
* @brief Gets or sets the list of supported commands.
|
||||
*/
|
||||
void setSupportedCommands(QList<GeneralCommandType> newSupportedCommands);
|
||||
bool supportedCommandsNull() const;
|
||||
void setSupportedCommandsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether session supports media control.
|
||||
|
@ -103,26 +100,6 @@ public:
|
|||
*/
|
||||
void setSupportsMediaControl(bool newSupportsMediaControl);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether session supports content uploading.
|
||||
*/
|
||||
bool supportsContentUploading() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether session supports content uploading.
|
||||
*/
|
||||
void setSupportsContentUploading(bool newSupportsContentUploading);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the message callback url.
|
||||
*/
|
||||
QString messageCallbackUrl() const;
|
||||
/**
|
||||
* @brief Gets or sets the message callback url.
|
||||
*/
|
||||
void setMessageCallbackUrl(QString newMessageCallbackUrl);
|
||||
bool messageCallbackUrlNull() const;
|
||||
void setMessageCallbackUrlNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether session supports a persistent identifier.
|
||||
*/
|
||||
|
@ -132,15 +109,6 @@ public:
|
|||
*/
|
||||
void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether session supports sync.
|
||||
*/
|
||||
bool supportsSync() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether session supports sync.
|
||||
*/
|
||||
void setSupportsSync(bool newSupportsSync);
|
||||
|
||||
|
||||
QSharedPointer<DeviceProfile> deviceProfile() const;
|
||||
|
||||
|
@ -170,13 +138,10 @@ public:
|
|||
|
||||
|
||||
protected:
|
||||
QStringList m_playableMediaTypes;
|
||||
QList<MediaType> m_playableMediaTypes;
|
||||
QList<GeneralCommandType> m_supportedCommands;
|
||||
bool m_supportsMediaControl;
|
||||
bool m_supportsContentUploading;
|
||||
QString m_messageCallbackUrl;
|
||||
bool m_supportsPersistentIdentifier;
|
||||
bool m_supportsSync;
|
||||
QSharedPointer<DeviceProfile> m_deviceProfile = QSharedPointer<DeviceProfile>();
|
||||
QString m_appStoreUrl;
|
||||
QString m_iconUrl;
|
||||
|
|
100
core/include/JellyfinQt/dto/clientlogdocumentresponsedto.h
Normal file
100
core/include/JellyfinQt/dto/clientlogdocumentresponsedto.h
Normal 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_CLIENTLOGDOCUMENTRESPONSEDTO_H
|
||||
#define JELLYFIN_DTO_CLIENTLOGDOCUMENTRESPONSEDTO_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class ClientLogDocumentResponseDto {
|
||||
public:
|
||||
ClientLogDocumentResponseDto(
|
||||
QString fileName
|
||||
);
|
||||
|
||||
ClientLogDocumentResponseDto(const ClientLogDocumentResponseDto &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ClientLogDocumentResponseDto &other);
|
||||
|
||||
static ClientLogDocumentResponseDto fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets the resulting filename.
|
||||
*/
|
||||
QString fileName() const;
|
||||
/**
|
||||
* @brief Gets the resulting filename.
|
||||
*/
|
||||
void setFileName(QString newFileName);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_fileName;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ClientLogDocumentResponseDto::fromJson();
|
||||
ClientLogDocumentResponseDto();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ClientLogDocumentResponseDto = Jellyfin::DTO::ClientLogDocumentResponseDto;
|
||||
|
||||
template <>
|
||||
ClientLogDocumentResponseDto fromJsonValue(const QJsonValue &source, convertType<ClientLogDocumentResponseDto>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ClientLogDocumentResponseDto &source, convertType<ClientLogDocumentResponseDto>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_CLIENTLOGDOCUMENTRESPONSEDTO_H
|
|
@ -52,7 +52,9 @@ namespace DTO {
|
|||
class CodecProfile {
|
||||
public:
|
||||
CodecProfile(
|
||||
CodecType type
|
||||
CodecType type,
|
||||
QList<ProfileCondition> conditions,
|
||||
QList<ProfileCondition> applyConditions
|
||||
);
|
||||
|
||||
CodecProfile(const CodecProfile &other);
|
||||
|
@ -72,34 +74,57 @@ public:
|
|||
|
||||
void setType(CodecType newType);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this profile must meet.
|
||||
*/
|
||||
QList<ProfileCondition> conditions() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this profile must meet.
|
||||
*/
|
||||
void setConditions(QList<ProfileCondition> newConditions);
|
||||
bool conditionsNull() const;
|
||||
void setConditionsNull();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition to apply if this profile is met.
|
||||
*/
|
||||
QList<ProfileCondition> applyConditions() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition to apply if this profile is met.
|
||||
*/
|
||||
void setApplyConditions(QList<ProfileCondition> newApplyConditions);
|
||||
bool applyConditionsNull() const;
|
||||
void setApplyConditionsNull();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the codec(s) that this profile applies to.
|
||||
*/
|
||||
QString codec() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the codec(s) that this profile applies to.
|
||||
*/
|
||||
void setCodec(QString newCodec);
|
||||
bool codecNull() const;
|
||||
void setCodecNull();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the container(s) which this profile will be applied to.
|
||||
*/
|
||||
QString container() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the container(s) which this profile will be applied to.
|
||||
*/
|
||||
void setContainer(QString newContainer);
|
||||
bool containerNull() const;
|
||||
void setContainerNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the sub-container(s) which this profile will be applied to.
|
||||
*/
|
||||
QString subContainer() const;
|
||||
/**
|
||||
* @brief Gets or sets the sub-container(s) which this profile will be applied to.
|
||||
*/
|
||||
void setSubContainer(QString newSubContainer);
|
||||
bool subContainerNull() const;
|
||||
void setSubContainerNull();
|
||||
|
||||
|
||||
protected:
|
||||
CodecType m_type;
|
||||
|
@ -107,6 +132,7 @@ protected:
|
|||
QList<ProfileCondition> m_applyConditions;
|
||||
QString m_codec;
|
||||
QString m_container;
|
||||
QString m_subContainer;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing CodecProfile::fromJson();
|
||||
|
|
87
core/include/JellyfinQt/dto/collectiontype.h
Normal file
87
core/include/JellyfinQt/dto/collectiontype.h
Normal file
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* 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_COLLECTIONTYPE_H
|
||||
#define JELLYFIN_DTO_COLLECTIONTYPE_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class CollectionTypeClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
Unknown,
|
||||
Movies,
|
||||
Tvshows,
|
||||
Music,
|
||||
Musicvideos,
|
||||
Trailers,
|
||||
Homevideos,
|
||||
Boxsets,
|
||||
Books,
|
||||
Photos,
|
||||
Livetv,
|
||||
Playlists,
|
||||
Folders,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit CollectionTypeClass();
|
||||
};
|
||||
|
||||
using CollectionType = CollectionTypeClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using CollectionType = Jellyfin::DTO::CollectionType;
|
||||
|
||||
template <>
|
||||
CollectionType fromJsonValue(const QJsonValue &source, convertType<CollectionType>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const CollectionType &source, convertType<CollectionType>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_COLLECTIONTYPE_H
|
82
core/include/JellyfinQt/dto/collectiontypeoptions.h
Normal file
82
core/include/JellyfinQt/dto/collectiontypeoptions.h
Normal 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_COLLECTIONTYPEOPTIONS_H
|
||||
#define JELLYFIN_DTO_COLLECTIONTYPEOPTIONS_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class CollectionTypeOptionsClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
Movies,
|
||||
Tvshows,
|
||||
Music,
|
||||
Musicvideos,
|
||||
Homevideos,
|
||||
Boxsets,
|
||||
Books,
|
||||
Mixed,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit CollectionTypeOptionsClass();
|
||||
};
|
||||
|
||||
using CollectionTypeOptions = CollectionTypeOptionsClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using CollectionTypeOptions = Jellyfin::DTO::CollectionTypeOptions;
|
||||
|
||||
template <>
|
||||
CollectionTypeOptions fromJsonValue(const QJsonValue &source, convertType<CollectionTypeOptions>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const CollectionTypeOptions &source, convertType<CollectionTypeOptions>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_COLLECTIONTYPEOPTIONS_H
|
|
@ -27,8 +27,8 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_RESPONSEPROFILE_H
|
||||
#define JELLYFIN_DTO_RESPONSEPROFILE_H
|
||||
#ifndef JELLYFIN_DTO_CONFIGIMAGETYPES_H
|
||||
#define JELLYFIN_DTO_CONFIGIMAGETYPES_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
|
@ -37,8 +37,6 @@
|
|||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/dlnaprofiletype.h"
|
||||
#include "JellyfinQt/dto/profilecondition.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -49,84 +47,80 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class ResponseProfile {
|
||||
public:
|
||||
ResponseProfile(
|
||||
DlnaProfileType type
|
||||
);
|
||||
|
||||
ResponseProfile(const ResponseProfile &other);
|
||||
class ConfigImageTypes {
|
||||
public: ConfigImageTypes();
|
||||
ConfigImageTypes(const ConfigImageTypes &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ResponseProfile &other);
|
||||
void replaceData(ConfigImageTypes &other);
|
||||
|
||||
static ResponseProfile fromJson(QJsonObject source);
|
||||
static ConfigImageTypes fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
QString container() const;
|
||||
QStringList backdropSizes() const;
|
||||
|
||||
void setContainer(QString newContainer);
|
||||
bool containerNull() const;
|
||||
void setContainerNull();
|
||||
void setBackdropSizes(QStringList newBackdropSizes);
|
||||
bool backdropSizesNull() const;
|
||||
void setBackdropSizesNull();
|
||||
|
||||
|
||||
QString audioCodec() const;
|
||||
QString baseUrl() const;
|
||||
|
||||
void setAudioCodec(QString newAudioCodec);
|
||||
bool audioCodecNull() const;
|
||||
void setAudioCodecNull();
|
||||
void setBaseUrl(QString newBaseUrl);
|
||||
bool baseUrlNull() const;
|
||||
void setBaseUrlNull();
|
||||
|
||||
|
||||
QString videoCodec() const;
|
||||
QStringList logoSizes() const;
|
||||
|
||||
void setVideoCodec(QString newVideoCodec);
|
||||
bool videoCodecNull() const;
|
||||
void setVideoCodecNull();
|
||||
void setLogoSizes(QStringList newLogoSizes);
|
||||
bool logoSizesNull() const;
|
||||
void setLogoSizesNull();
|
||||
|
||||
|
||||
DlnaProfileType type() const;
|
||||
QStringList posterSizes() const;
|
||||
|
||||
void setType(DlnaProfileType newType);
|
||||
void setPosterSizes(QStringList newPosterSizes);
|
||||
bool posterSizesNull() const;
|
||||
void setPosterSizesNull();
|
||||
|
||||
|
||||
QString orgPn() const;
|
||||
QStringList profileSizes() const;
|
||||
|
||||
void setOrgPn(QString newOrgPn);
|
||||
bool orgPnNull() const;
|
||||
void setOrgPnNull();
|
||||
void setProfileSizes(QStringList newProfileSizes);
|
||||
bool profileSizesNull() const;
|
||||
void setProfileSizesNull();
|
||||
|
||||
|
||||
QString mimeType() const;
|
||||
QString secureBaseUrl() const;
|
||||
|
||||
void setMimeType(QString newMimeType);
|
||||
bool mimeTypeNull() const;
|
||||
void setMimeTypeNull();
|
||||
void setSecureBaseUrl(QString newSecureBaseUrl);
|
||||
bool secureBaseUrlNull() const;
|
||||
void setSecureBaseUrlNull();
|
||||
|
||||
|
||||
QList<ProfileCondition> conditions() const;
|
||||
QStringList stillSizes() const;
|
||||
|
||||
void setConditions(QList<ProfileCondition> newConditions);
|
||||
bool conditionsNull() const;
|
||||
void setConditionsNull();
|
||||
void setStillSizes(QStringList newStillSizes);
|
||||
bool stillSizesNull() const;
|
||||
void setStillSizesNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_container;
|
||||
QString m_audioCodec;
|
||||
QString m_videoCodec;
|
||||
DlnaProfileType m_type;
|
||||
QString m_orgPn;
|
||||
QString m_mimeType;
|
||||
QList<ProfileCondition> m_conditions;
|
||||
QStringList m_backdropSizes;
|
||||
QString m_baseUrl;
|
||||
QStringList m_logoSizes;
|
||||
QStringList m_posterSizes;
|
||||
QStringList m_profileSizes;
|
||||
QString m_secureBaseUrl;
|
||||
QStringList m_stillSizes;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ResponseProfile::fromJson();
|
||||
ResponseProfile();
|
||||
};
|
||||
|
||||
|
||||
|
@ -134,15 +128,15 @@ private:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using ResponseProfile = Jellyfin::DTO::ResponseProfile;
|
||||
using ConfigImageTypes = Jellyfin::DTO::ConfigImageTypes;
|
||||
|
||||
template <>
|
||||
ResponseProfile fromJsonValue(const QJsonValue &source, convertType<ResponseProfile>);
|
||||
ConfigImageTypes fromJsonValue(const QJsonValue &source, convertType<ConfigImageTypes>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ResponseProfile &source, convertType<ResponseProfile>);
|
||||
QJsonValue toJsonValue(const ConfigImageTypes &source, convertType<ConfigImageTypes>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_RESPONSEPROFILE_H
|
||||
#endif // JELLYFIN_DTO_CONFIGIMAGETYPES_H
|
|
@ -35,7 +35,6 @@
|
|||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/configurationpagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -48,9 +47,9 @@ namespace DTO {
|
|||
|
||||
class ConfigurationPageInfo {
|
||||
public:
|
||||
ConfigurationPageInfo(
|
||||
bool enableInMainMenu,
|
||||
ConfigurationPageType configurationPageType
|
||||
ConfigurationPageInfo(
|
||||
QString name,
|
||||
bool enableInMainMenu
|
||||
);
|
||||
|
||||
ConfigurationPageInfo(const ConfigurationPageInfo &other);
|
||||
|
@ -73,8 +72,6 @@ public:
|
|||
* @brief Gets or sets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the configurations page is enabled in the main menu.
|
||||
|
@ -118,11 +115,6 @@ public:
|
|||
bool displayNameNull() const;
|
||||
void setDisplayNameNull();
|
||||
|
||||
|
||||
ConfigurationPageType configurationPageType() const;
|
||||
|
||||
void setConfigurationPageType(ConfigurationPageType newConfigurationPageType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the plugin id.
|
||||
*/
|
||||
|
@ -141,7 +133,6 @@ protected:
|
|||
QString m_menuSection;
|
||||
QString m_menuIcon;
|
||||
QString m_displayName;
|
||||
ConfigurationPageType m_configurationPageType;
|
||||
QString m_pluginId;
|
||||
|
||||
private:
|
||||
|
|
|
@ -52,7 +52,8 @@ namespace DTO {
|
|||
class ContainerProfile {
|
||||
public:
|
||||
ContainerProfile(
|
||||
DlnaProfileType type
|
||||
DlnaProfileType type,
|
||||
QList<ProfileCondition> conditions
|
||||
);
|
||||
|
||||
ContainerProfile(const ContainerProfile &other);
|
||||
|
@ -72,25 +73,43 @@ public:
|
|||
|
||||
void setType(DlnaProfileType newType);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this container will be applied to.
|
||||
*/
|
||||
QList<ProfileCondition> conditions() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this container will be applied to.
|
||||
*/
|
||||
void setConditions(QList<ProfileCondition> newConditions);
|
||||
bool conditionsNull() const;
|
||||
void setConditionsNull();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the container(s) which this container must meet.
|
||||
*/
|
||||
QString container() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the container(s) which this container must meet.
|
||||
*/
|
||||
void setContainer(QString newContainer);
|
||||
bool containerNull() const;
|
||||
void setContainerNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the sub container(s) which this container must meet.
|
||||
*/
|
||||
QString subContainer() const;
|
||||
/**
|
||||
* @brief Gets or sets the sub container(s) which this container must meet.
|
||||
*/
|
||||
void setSubContainer(QString newSubContainer);
|
||||
bool subContainerNull() const;
|
||||
void setSubContainerNull();
|
||||
|
||||
|
||||
protected:
|
||||
DlnaProfileType m_type;
|
||||
QList<ProfileCondition> m_conditions;
|
||||
QString m_container;
|
||||
QString m_subContainer;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ContainerProfile::fromJson();
|
||||
|
|
|
@ -37,6 +37,8 @@
|
|||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/mediatype.h"
|
||||
#include "JellyfinQt/dto/playlistuserpermissions.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -48,7 +50,15 @@ namespace DTO {
|
|||
|
||||
|
||||
class CreatePlaylistDto {
|
||||
public: CreatePlaylistDto();
|
||||
public:
|
||||
CreatePlaylistDto(
|
||||
QString name,
|
||||
QStringList ids,
|
||||
MediaType mediaType,
|
||||
QList<PlaylistUserPermissions> users,
|
||||
bool isPublic
|
||||
);
|
||||
|
||||
CreatePlaylistDto(const CreatePlaylistDto &other);
|
||||
|
||||
/**
|
||||
|
@ -69,8 +79,6 @@ public: CreatePlaylistDto();
|
|||
* @brief Gets or sets the name of the new playlist.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets item ids to add to the playlist.
|
||||
|
@ -80,8 +88,6 @@ public: CreatePlaylistDto();
|
|||
* @brief Gets or sets item ids to add to the playlist.
|
||||
*/
|
||||
void setIds(QStringList newIds);
|
||||
bool idsNull() const;
|
||||
void setIdsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the user id.
|
||||
|
@ -94,25 +100,41 @@ public: CreatePlaylistDto();
|
|||
bool userIdNull() const;
|
||||
void setUserIdNull();
|
||||
|
||||
|
||||
MediaType mediaType() const;
|
||||
|
||||
void setMediaType(MediaType newMediaType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the media type.
|
||||
* @brief Gets or sets the playlist users.
|
||||
*/
|
||||
QString mediaType() const;
|
||||
QList<PlaylistUserPermissions> users() const;
|
||||
/**
|
||||
* @brief Gets or sets the media type.
|
||||
* @brief Gets or sets the playlist users.
|
||||
*/
|
||||
void setMediaType(QString newMediaType);
|
||||
bool mediaTypeNull() const;
|
||||
void setMediaTypeNull();
|
||||
void setUsers(QList<PlaylistUserPermissions> newUsers);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the playlist is public.
|
||||
*/
|
||||
bool isPublic() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the playlist is public.
|
||||
*/
|
||||
void setIsPublic(bool newIsPublic);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_name;
|
||||
QStringList m_ids;
|
||||
QString m_userId;
|
||||
QString m_mediaType;
|
||||
|
||||
MediaType m_mediaType;
|
||||
QList<PlaylistUserPermissions> m_users;
|
||||
bool m_isPublic;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing CreatePlaylistDto::fromJson();
|
||||
CreatePlaylistDto();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -46,7 +46,11 @@ namespace DTO {
|
|||
|
||||
|
||||
class CreateUserByName {
|
||||
public: CreateUserByName();
|
||||
public:
|
||||
CreateUserByName(
|
||||
QString name
|
||||
);
|
||||
|
||||
CreateUserByName(const CreateUserByName &other);
|
||||
|
||||
/**
|
||||
|
@ -67,8 +71,6 @@ public: CreateUserByName();
|
|||
* @brief Gets or sets the username.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the password.
|
||||
|
@ -86,7 +88,9 @@ protected:
|
|||
QString m_name;
|
||||
QString m_password;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing CreateUserByName::fromJson();
|
||||
CreateUserByName();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -48,7 +48,14 @@ namespace DTO {
|
|||
|
||||
|
||||
class CultureDto {
|
||||
public: CultureDto();
|
||||
public:
|
||||
CultureDto(
|
||||
QString name,
|
||||
QString displayName,
|
||||
QString twoLetterISOLanguageName,
|
||||
QStringList threeLetterISOLanguageNames
|
||||
);
|
||||
|
||||
CultureDto(const CultureDto &other);
|
||||
|
||||
/**
|
||||
|
@ -62,44 +69,38 @@ public: CultureDto();
|
|||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the name.
|
||||
* @brief Gets the name.
|
||||
*/
|
||||
QString name() const;
|
||||
/**
|
||||
* @brief Gets or sets the name.
|
||||
* @brief Gets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the display name.
|
||||
* @brief Gets the display name.
|
||||
*/
|
||||
QString displayName() const;
|
||||
/**
|
||||
* @brief Gets or sets the display name.
|
||||
* @brief Gets the display name.
|
||||
*/
|
||||
void setDisplayName(QString newDisplayName);
|
||||
bool displayNameNull() const;
|
||||
void setDisplayNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the name of the two letter ISO language.
|
||||
* @brief Gets the name of the two letter ISO language.
|
||||
*/
|
||||
QString twoLetterISOLanguageName() const;
|
||||
/**
|
||||
* @brief Gets or sets the name of the two letter ISO language.
|
||||
* @brief Gets the name of the two letter ISO language.
|
||||
*/
|
||||
void setTwoLetterISOLanguageName(QString newTwoLetterISOLanguageName);
|
||||
bool twoLetterISOLanguageNameNull() const;
|
||||
void setTwoLetterISOLanguageNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the name of the three letter ISO language.
|
||||
* @brief Gets the name of the three letter ISO language.
|
||||
*/
|
||||
QString threeLetterISOLanguageName() const;
|
||||
/**
|
||||
* @brief Gets or sets the name of the three letter ISO language.
|
||||
* @brief Gets the name of the three letter ISO language.
|
||||
*/
|
||||
void setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName);
|
||||
bool threeLetterISOLanguageNameNull() const;
|
||||
|
@ -109,8 +110,6 @@ public: CultureDto();
|
|||
QStringList threeLetterISOLanguageNames() const;
|
||||
|
||||
void setThreeLetterISOLanguageNames(QStringList newThreeLetterISOLanguageNames);
|
||||
bool threeLetterISOLanguageNamesNull() const;
|
||||
void setThreeLetterISOLanguageNamesNull();
|
||||
|
||||
|
||||
protected:
|
||||
|
@ -120,7 +119,9 @@ protected:
|
|||
QString m_threeLetterISOLanguageName;
|
||||
QStringList m_threeLetterISOLanguageNames;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing CultureDto::fromJson();
|
||||
CultureDto();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_DEVICEPROFILETYPE_H
|
||||
#define JELLYFIN_DTO_DEVICEPROFILETYPE_H
|
||||
#ifndef JELLYFIN_DTO_DEINTERLACEMETHOD_H
|
||||
#define JELLYFIN_DTO_DEINTERLACEMETHOD_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
|
@ -43,34 +43,34 @@ class ApiClient;
|
|||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class DeviceProfileTypeClass {
|
||||
class DeinterlaceMethodClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
System,
|
||||
User,
|
||||
Yadif,
|
||||
Bwdif,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit DeviceProfileTypeClass();
|
||||
explicit DeinterlaceMethodClass();
|
||||
};
|
||||
|
||||
using DeviceProfileType = DeviceProfileTypeClass::Value;
|
||||
using DeinterlaceMethod = DeinterlaceMethodClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using DeviceProfileType = Jellyfin::DTO::DeviceProfileType;
|
||||
using DeinterlaceMethod = Jellyfin::DTO::DeinterlaceMethod;
|
||||
|
||||
template <>
|
||||
DeviceProfileType fromJsonValue(const QJsonValue &source, convertType<DeviceProfileType>);
|
||||
DeinterlaceMethod fromJsonValue(const QJsonValue &source, convertType<DeinterlaceMethod>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const DeviceProfileType &source, convertType<DeviceProfileType>);
|
||||
QJsonValue toJsonValue(const DeinterlaceMethod &source, convertType<DeinterlaceMethod>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_DEVICEPROFILETYPE_H
|
||||
#endif // JELLYFIN_DTO_DEINTERLACEMETHOD_H
|
|
@ -1,195 +0,0 @@
|
|||
/*
|
||||
* 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 <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/httpheaderinfo.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class DeviceIdentification {
|
||||
public: DeviceIdentification();
|
||||
DeviceIdentification(const DeviceIdentification &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(DeviceIdentification &other);
|
||||
|
||||
static DeviceIdentification fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the name of the friendly.
|
||||
*/
|
||||
QString friendlyName() const;
|
||||
/**
|
||||
* @brief Gets or sets the name of the friendly.
|
||||
*/
|
||||
void setFriendlyName(QString newFriendlyName);
|
||||
bool friendlyNameNull() const;
|
||||
void setFriendlyNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the model number.
|
||||
*/
|
||||
QString modelNumber() const;
|
||||
/**
|
||||
* @brief Gets or sets the model number.
|
||||
*/
|
||||
void setModelNumber(QString newModelNumber);
|
||||
bool modelNumberNull() const;
|
||||
void setModelNumberNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the serial number.
|
||||
*/
|
||||
QString serialNumber() const;
|
||||
/**
|
||||
* @brief Gets or sets the serial number.
|
||||
*/
|
||||
void setSerialNumber(QString newSerialNumber);
|
||||
bool serialNumberNull() const;
|
||||
void setSerialNumberNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the name of the model.
|
||||
*/
|
||||
QString modelName() const;
|
||||
/**
|
||||
* @brief Gets or sets the name of the model.
|
||||
*/
|
||||
void setModelName(QString newModelName);
|
||||
bool modelNameNull() const;
|
||||
void setModelNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the model description.
|
||||
*/
|
||||
QString modelDescription() const;
|
||||
/**
|
||||
* @brief Gets or sets the model description.
|
||||
*/
|
||||
void setModelDescription(QString newModelDescription);
|
||||
bool modelDescriptionNull() const;
|
||||
void setModelDescriptionNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the model URL.
|
||||
*/
|
||||
QString modelUrl() const;
|
||||
/**
|
||||
* @brief Gets or sets the model URL.
|
||||
*/
|
||||
void setModelUrl(QString newModelUrl);
|
||||
bool modelUrlNull() const;
|
||||
void setModelUrlNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the manufacturer.
|
||||
*/
|
||||
QString manufacturer() const;
|
||||
/**
|
||||
* @brief Gets or sets the manufacturer.
|
||||
*/
|
||||
void setManufacturer(QString newManufacturer);
|
||||
bool manufacturerNull() const;
|
||||
void setManufacturerNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the manufacturer URL.
|
||||
*/
|
||||
QString manufacturerUrl() const;
|
||||
/**
|
||||
* @brief Gets or sets the manufacturer URL.
|
||||
*/
|
||||
void setManufacturerUrl(QString newManufacturerUrl);
|
||||
bool manufacturerUrlNull() const;
|
||||
void setManufacturerUrlNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the headers.
|
||||
*/
|
||||
QList<HttpHeaderInfo> headers() const;
|
||||
/**
|
||||
* @brief Gets or sets the headers.
|
||||
*/
|
||||
void setHeaders(QList<HttpHeaderInfo> newHeaders);
|
||||
bool headersNull() const;
|
||||
void setHeadersNull();
|
||||
|
||||
|
||||
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 DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using DeviceIdentification = Jellyfin::DTO::DeviceIdentification;
|
||||
|
||||
template <>
|
||||
DeviceIdentification fromJsonValue(const QJsonValue &source, convertType<DeviceIdentification>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const DeviceIdentification &source, convertType<DeviceIdentification>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_DEVICEIDENTIFICATION_H
|
|
@ -27,8 +27,8 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_DEVICEINFO_H
|
||||
#define JELLYFIN_DTO_DEVICEINFO_H
|
||||
#ifndef JELLYFIN_DTO_DEVICEINFODTO_H
|
||||
#define JELLYFIN_DTO_DEVICEINFODTO_H
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QJsonObject>
|
||||
|
@ -37,7 +37,7 @@
|
|||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/clientcapabilities.h"
|
||||
#include "JellyfinQt/dto/clientcapabilitiesdto.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -48,33 +48,57 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class DeviceInfo {
|
||||
class DeviceInfoDto {
|
||||
public:
|
||||
DeviceInfo(
|
||||
QString lastUserId,
|
||||
QDateTime dateLastActivity,
|
||||
QSharedPointer<ClientCapabilities> capabilities
|
||||
DeviceInfoDto(
|
||||
QSharedPointer<ClientCapabilitiesDto> capabilities
|
||||
);
|
||||
|
||||
DeviceInfo(const DeviceInfo &other);
|
||||
DeviceInfoDto(const DeviceInfoDto &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(DeviceInfo &other);
|
||||
void replaceData(DeviceInfoDto &other);
|
||||
|
||||
static DeviceInfo fromJson(QJsonObject source);
|
||||
static DeviceInfoDto fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the name.
|
||||
*/
|
||||
QString name() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the custom name.
|
||||
*/
|
||||
QString customName() const;
|
||||
/**
|
||||
* @brief Gets or sets the custom name.
|
||||
*/
|
||||
void setCustomName(QString newCustomName);
|
||||
bool customNameNull() const;
|
||||
void setCustomNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the access token.
|
||||
*/
|
||||
QString accessToken() const;
|
||||
/**
|
||||
* @brief Gets or sets the access token.
|
||||
*/
|
||||
void setAccessToken(QString newAccessToken);
|
||||
bool accessTokenNull() const;
|
||||
void setAccessTokenNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the identifier.
|
||||
*/
|
||||
|
@ -127,6 +151,8 @@ public:
|
|||
* @brief Gets or sets the last user identifier.
|
||||
*/
|
||||
void setLastUserId(QString newLastUserId);
|
||||
bool lastUserIdNull() const;
|
||||
void setLastUserIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the date last modified.
|
||||
|
@ -136,15 +162,21 @@ public:
|
|||
* @brief Gets or sets the date last modified.
|
||||
*/
|
||||
void setDateLastActivity(QDateTime newDateLastActivity);
|
||||
bool dateLastActivityNull() const;
|
||||
void setDateLastActivityNull();
|
||||
|
||||
|
||||
QSharedPointer<ClientCapabilities> capabilities() const;
|
||||
|
||||
void setCapabilities(QSharedPointer<ClientCapabilities> newCapabilities);
|
||||
QSharedPointer<ClientCapabilitiesDto> capabilities() const;
|
||||
|
||||
void setCapabilities(QSharedPointer<ClientCapabilitiesDto> newCapabilities);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the icon URL.
|
||||
*/
|
||||
QString iconUrl() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the icon URL.
|
||||
*/
|
||||
void setIconUrl(QString newIconUrl);
|
||||
bool iconUrlNull() const;
|
||||
void setIconUrlNull();
|
||||
|
@ -152,18 +184,20 @@ public:
|
|||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_customName;
|
||||
QString m_accessToken;
|
||||
QString m_jellyfinId;
|
||||
QString m_lastUserName;
|
||||
QString m_appName;
|
||||
QString m_appVersion;
|
||||
QString m_lastUserId;
|
||||
QDateTime m_dateLastActivity;
|
||||
QSharedPointer<ClientCapabilities> m_capabilities = QSharedPointer<ClientCapabilities>();
|
||||
QSharedPointer<ClientCapabilitiesDto> m_capabilities = QSharedPointer<ClientCapabilitiesDto>();
|
||||
QString m_iconUrl;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing DeviceInfo::fromJson();
|
||||
DeviceInfo();
|
||||
// Private constructor which generates an invalid object, for use withing DeviceInfoDto::fromJson();
|
||||
DeviceInfoDto();
|
||||
};
|
||||
|
||||
|
||||
|
@ -171,15 +205,15 @@ private:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using DeviceInfo = Jellyfin::DTO::DeviceInfo;
|
||||
using DeviceInfoDto = Jellyfin::DTO::DeviceInfoDto;
|
||||
|
||||
template <>
|
||||
DeviceInfo fromJsonValue(const QJsonValue &source, convertType<DeviceInfo>);
|
||||
DeviceInfoDto fromJsonValue(const QJsonValue &source, convertType<DeviceInfoDto>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const DeviceInfo &source, convertType<DeviceInfo>);
|
||||
QJsonValue toJsonValue(const DeviceInfoDto &source, convertType<DeviceInfoDto>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_DEVICEINFO_H
|
||||
#endif // JELLYFIN_DTO_DEVICEINFODTO_H
|
|
@ -27,8 +27,8 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H
|
||||
#define JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H
|
||||
#ifndef JELLYFIN_DTO_DEVICEINFODTOQUERYRESULT_H
|
||||
#define JELLYFIN_DTO_DEVICEINFODTOQUERYRESULT_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
|
@ -36,7 +36,7 @@
|
|||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/deviceinfo.h"
|
||||
#include "JellyfinQt/dto/deviceinfodto.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -47,21 +47,22 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class DeviceInfoQueryResult {
|
||||
class DeviceInfoDtoQueryResult {
|
||||
public:
|
||||
DeviceInfoQueryResult(
|
||||
DeviceInfoDtoQueryResult(
|
||||
QList<DeviceInfoDto> items,
|
||||
qint32 totalRecordCount,
|
||||
qint32 startIndex
|
||||
);
|
||||
|
||||
DeviceInfoQueryResult(const DeviceInfoQueryResult &other);
|
||||
DeviceInfoDtoQueryResult(const DeviceInfoDtoQueryResult &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(DeviceInfoQueryResult &other);
|
||||
void replaceData(DeviceInfoDtoQueryResult &other);
|
||||
|
||||
static DeviceInfoQueryResult fromJson(QJsonObject source);
|
||||
static DeviceInfoDtoQueryResult fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
|
@ -69,41 +70,39 @@ public:
|
|||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<DeviceInfo> items() const;
|
||||
QList<DeviceInfoDto> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<DeviceInfo> newItems);
|
||||
bool itemsNull() const;
|
||||
void setItemsNull();
|
||||
void setItems(QList<DeviceInfoDto> newItems);
|
||||
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
qint32 totalRecordCount() const;
|
||||
/**
|
||||
* @brief The total number of records available.
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
void setTotalRecordCount(qint32 newTotalRecordCount);
|
||||
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
qint32 startIndex() const;
|
||||
/**
|
||||
* @brief The index of the first record in Items.
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
void setStartIndex(qint32 newStartIndex);
|
||||
|
||||
|
||||
protected:
|
||||
QList<DeviceInfo> m_items;
|
||||
QList<DeviceInfoDto> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing DeviceInfoQueryResult::fromJson();
|
||||
DeviceInfoQueryResult();
|
||||
// Private constructor which generates an invalid object, for use withing DeviceInfoDtoQueryResult::fromJson();
|
||||
DeviceInfoDtoQueryResult();
|
||||
};
|
||||
|
||||
|
||||
|
@ -111,15 +110,15 @@ private:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using DeviceInfoQueryResult = Jellyfin::DTO::DeviceInfoQueryResult;
|
||||
using DeviceInfoDtoQueryResult = Jellyfin::DTO::DeviceInfoDtoQueryResult;
|
||||
|
||||
template <>
|
||||
DeviceInfoQueryResult fromJsonValue(const QJsonValue &source, convertType<DeviceInfoQueryResult>);
|
||||
DeviceInfoDtoQueryResult fromJsonValue(const QJsonValue &source, convertType<DeviceInfoDtoQueryResult>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const DeviceInfoQueryResult &source, convertType<DeviceInfoQueryResult>);
|
||||
QJsonValue toJsonValue(const DeviceInfoDtoQueryResult &source, convertType<DeviceInfoDtoQueryResult>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H
|
||||
#endif // JELLYFIN_DTO_DEVICEINFODTOQUERYRESULT_H
|
124
core/include/JellyfinQt/dto/deviceoptionsdto.h
Normal file
124
core/include/JellyfinQt/dto/deviceoptionsdto.h
Normal file
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* 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_DEVICEOPTIONSDTO_H
|
||||
#define JELLYFIN_DTO_DEVICEOPTIONSDTO_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class DeviceOptionsDto {
|
||||
public:
|
||||
DeviceOptionsDto(
|
||||
qint32 jellyfinId
|
||||
);
|
||||
|
||||
DeviceOptionsDto(const DeviceOptionsDto &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(DeviceOptionsDto &other);
|
||||
|
||||
static DeviceOptionsDto fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the id.
|
||||
*/
|
||||
qint32 jellyfinId() const;
|
||||
/**
|
||||
* @brief Gets or sets the id.
|
||||
*/
|
||||
void setJellyfinId(qint32 newJellyfinId);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the device id.
|
||||
*/
|
||||
QString deviceId() const;
|
||||
/**
|
||||
* @brief Gets or sets the device id.
|
||||
*/
|
||||
void setDeviceId(QString newDeviceId);
|
||||
bool deviceIdNull() const;
|
||||
void setDeviceIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the custom name.
|
||||
*/
|
||||
QString customName() const;
|
||||
/**
|
||||
* @brief Gets or sets the custom name.
|
||||
*/
|
||||
void setCustomName(QString newCustomName);
|
||||
bool customNameNull() const;
|
||||
void setCustomNameNull();
|
||||
|
||||
|
||||
protected:
|
||||
qint32 m_jellyfinId;
|
||||
QString m_deviceId;
|
||||
QString m_customName;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing DeviceOptionsDto::fromJson();
|
||||
DeviceOptionsDto();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using DeviceOptionsDto = Jellyfin::DTO::DeviceOptionsDto;
|
||||
|
||||
template <>
|
||||
DeviceOptionsDto fromJsonValue(const QJsonValue &source, convertType<DeviceOptionsDto>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const DeviceOptionsDto &source, convertType<DeviceOptionsDto>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_DEVICEOPTIONSDTO_H
|
|
@ -33,19 +33,15 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/codecprofile.h"
|
||||
#include "JellyfinQt/dto/containerprofile.h"
|
||||
#include "JellyfinQt/dto/deviceidentification.h"
|
||||
#include "JellyfinQt/dto/directplayprofile.h"
|
||||
#include "JellyfinQt/dto/responseprofile.h"
|
||||
#include "JellyfinQt/dto/subtitleprofile.h"
|
||||
#include "JellyfinQt/dto/transcodingprofile.h"
|
||||
#include "JellyfinQt/dto/xmlattribute.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -58,18 +54,12 @@ namespace DTO {
|
|||
|
||||
class DeviceProfile {
|
||||
public:
|
||||
DeviceProfile(
|
||||
QSharedPointer<DeviceIdentification> identification,
|
||||
bool enableAlbumArtInDidl,
|
||||
bool enableSingleAlbumArtLimit,
|
||||
bool enableSingleSubtitleLimit,
|
||||
qint32 maxAlbumArtWidth,
|
||||
qint32 maxAlbumArtHeight,
|
||||
qint32 timelineOffsetSeconds,
|
||||
bool requiresPlainVideoItems,
|
||||
bool requiresPlainFolders,
|
||||
bool enableMSMediaReceiverRegistrar,
|
||||
bool ignoreTranscodeByteRangeRequests
|
||||
DeviceProfile(
|
||||
QList<DirectPlayProfile> directPlayProfiles,
|
||||
QList<TranscodingProfile> transcodingProfiles,
|
||||
QList<ContainerProfile> containerProfiles,
|
||||
QList<CodecProfile> codecProfiles,
|
||||
QList<SubtitleProfile> subtitleProfiles
|
||||
);
|
||||
|
||||
DeviceProfile(const DeviceProfile &other);
|
||||
|
@ -85,342 +75,71 @@ public:
|
|||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the Name.
|
||||
* @brief Gets or sets the name of this device profile. User profiles must have a unique name.
|
||||
*/
|
||||
QString name() const;
|
||||
/**
|
||||
* @brief Gets or sets the Name.
|
||||
* @brief Gets or sets the name of this device profile. User profiles must have a unique name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Id.
|
||||
* @brief Gets or sets the unique internal identifier.
|
||||
*/
|
||||
QString jellyfinId() const;
|
||||
/**
|
||||
* @brief Gets or sets the Id.
|
||||
* @brief Gets or sets the unique internal identifier.
|
||||
*/
|
||||
void setJellyfinId(QString newJellyfinId);
|
||||
bool jellyfinIdNull() const;
|
||||
void setJellyfinIdNull();
|
||||
|
||||
|
||||
QSharedPointer<DeviceIdentification> identification() const;
|
||||
|
||||
void setIdentification(QSharedPointer<DeviceIdentification> newIdentification);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the FriendlyName.
|
||||
*/
|
||||
QString friendlyName() const;
|
||||
/**
|
||||
* @brief Gets or sets the FriendlyName.
|
||||
*/
|
||||
void setFriendlyName(QString newFriendlyName);
|
||||
bool friendlyNameNull() const;
|
||||
void setFriendlyNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Manufacturer.
|
||||
*/
|
||||
QString manufacturer() const;
|
||||
/**
|
||||
* @brief Gets or sets the Manufacturer.
|
||||
*/
|
||||
void setManufacturer(QString newManufacturer);
|
||||
bool manufacturerNull() const;
|
||||
void setManufacturerNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ManufacturerUrl.
|
||||
*/
|
||||
QString manufacturerUrl() const;
|
||||
/**
|
||||
* @brief Gets or sets the ManufacturerUrl.
|
||||
*/
|
||||
void setManufacturerUrl(QString newManufacturerUrl);
|
||||
bool manufacturerUrlNull() const;
|
||||
void setManufacturerUrlNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ModelName.
|
||||
*/
|
||||
QString modelName() const;
|
||||
/**
|
||||
* @brief Gets or sets the ModelName.
|
||||
*/
|
||||
void setModelName(QString newModelName);
|
||||
bool modelNameNull() const;
|
||||
void setModelNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ModelDescription.
|
||||
*/
|
||||
QString modelDescription() const;
|
||||
/**
|
||||
* @brief Gets or sets the ModelDescription.
|
||||
*/
|
||||
void setModelDescription(QString newModelDescription);
|
||||
bool modelDescriptionNull() const;
|
||||
void setModelDescriptionNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ModelNumber.
|
||||
*/
|
||||
QString modelNumber() const;
|
||||
/**
|
||||
* @brief Gets or sets the ModelNumber.
|
||||
*/
|
||||
void setModelNumber(QString newModelNumber);
|
||||
bool modelNumberNull() const;
|
||||
void setModelNumberNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ModelUrl.
|
||||
*/
|
||||
QString modelUrl() const;
|
||||
/**
|
||||
* @brief Gets or sets the ModelUrl.
|
||||
*/
|
||||
void setModelUrl(QString newModelUrl);
|
||||
bool modelUrlNull() const;
|
||||
void setModelUrlNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the SerialNumber.
|
||||
*/
|
||||
QString serialNumber() const;
|
||||
/**
|
||||
* @brief Gets or sets the SerialNumber.
|
||||
*/
|
||||
void setSerialNumber(QString newSerialNumber);
|
||||
bool serialNumberNull() const;
|
||||
void setSerialNumberNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableAlbumArtInDidl.
|
||||
*/
|
||||
bool enableAlbumArtInDidl() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableAlbumArtInDidl.
|
||||
*/
|
||||
void setEnableAlbumArtInDidl(bool newEnableAlbumArtInDidl);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableSingleAlbumArtLimit.
|
||||
*/
|
||||
bool enableSingleAlbumArtLimit() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableSingleAlbumArtLimit.
|
||||
*/
|
||||
void setEnableSingleAlbumArtLimit(bool newEnableSingleAlbumArtLimit);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableSingleSubtitleLimit.
|
||||
*/
|
||||
bool enableSingleSubtitleLimit() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableSingleSubtitleLimit.
|
||||
*/
|
||||
void setEnableSingleSubtitleLimit(bool newEnableSingleSubtitleLimit);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the SupportedMediaTypes.
|
||||
*/
|
||||
QString supportedMediaTypes() const;
|
||||
/**
|
||||
* @brief Gets or sets the SupportedMediaTypes.
|
||||
*/
|
||||
void setSupportedMediaTypes(QString newSupportedMediaTypes);
|
||||
bool supportedMediaTypesNull() const;
|
||||
void setSupportedMediaTypesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the UserId.
|
||||
*/
|
||||
QString userId() const;
|
||||
/**
|
||||
* @brief Gets or sets the UserId.
|
||||
*/
|
||||
void setUserId(QString newUserId);
|
||||
bool userIdNull() const;
|
||||
void setUserIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the AlbumArtPn.
|
||||
*/
|
||||
QString albumArtPn() const;
|
||||
/**
|
||||
* @brief Gets or sets the AlbumArtPn.
|
||||
*/
|
||||
void setAlbumArtPn(QString newAlbumArtPn);
|
||||
bool albumArtPnNull() const;
|
||||
void setAlbumArtPnNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MaxAlbumArtWidth.
|
||||
*/
|
||||
qint32 maxAlbumArtWidth() const;
|
||||
/**
|
||||
* @brief Gets or sets the MaxAlbumArtWidth.
|
||||
*/
|
||||
void setMaxAlbumArtWidth(qint32 newMaxAlbumArtWidth);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MaxAlbumArtHeight.
|
||||
*/
|
||||
qint32 maxAlbumArtHeight() const;
|
||||
/**
|
||||
* @brief Gets or sets the MaxAlbumArtHeight.
|
||||
*/
|
||||
void setMaxAlbumArtHeight(qint32 newMaxAlbumArtHeight);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MaxIconWidth.
|
||||
*/
|
||||
std::optional<qint32> maxIconWidth() const;
|
||||
/**
|
||||
* @brief Gets or sets the MaxIconWidth.
|
||||
*/
|
||||
void setMaxIconWidth(std::optional<qint32> newMaxIconWidth);
|
||||
bool maxIconWidthNull() const;
|
||||
void setMaxIconWidthNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MaxIconHeight.
|
||||
*/
|
||||
std::optional<qint32> maxIconHeight() const;
|
||||
/**
|
||||
* @brief Gets or sets the MaxIconHeight.
|
||||
*/
|
||||
void setMaxIconHeight(std::optional<qint32> newMaxIconHeight);
|
||||
bool maxIconHeightNull() const;
|
||||
void setMaxIconHeightNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MaxStreamingBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for all streamed content.
|
||||
*/
|
||||
std::optional<qint32> maxStreamingBitrate() const;
|
||||
/**
|
||||
* @brief Gets or sets the MaxStreamingBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for all streamed content.
|
||||
*/
|
||||
void setMaxStreamingBitrate(std::optional<qint32> newMaxStreamingBitrate);
|
||||
bool maxStreamingBitrateNull() const;
|
||||
void setMaxStreamingBitrateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MaxStaticBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files).
|
||||
*/
|
||||
std::optional<qint32> maxStaticBitrate() const;
|
||||
/**
|
||||
* @brief Gets or sets the MaxStaticBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files).
|
||||
*/
|
||||
void setMaxStaticBitrate(std::optional<qint32> newMaxStaticBitrate);
|
||||
bool maxStaticBitrateNull() const;
|
||||
void setMaxStaticBitrateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MusicStreamingTranscodingBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for transcoded music streams.
|
||||
*/
|
||||
std::optional<qint32> musicStreamingTranscodingBitrate() const;
|
||||
/**
|
||||
* @brief Gets or sets the MusicStreamingTranscodingBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for transcoded music streams.
|
||||
*/
|
||||
void setMusicStreamingTranscodingBitrate(std::optional<qint32> newMusicStreamingTranscodingBitrate);
|
||||
bool musicStreamingTranscodingBitrateNull() const;
|
||||
void setMusicStreamingTranscodingBitrateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the MaxStaticMusicBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files.
|
||||
*/
|
||||
std::optional<qint32> maxStaticMusicBitrate() const;
|
||||
/**
|
||||
* @brief Gets or sets the MaxStaticMusicBitrate.
|
||||
* @brief Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files.
|
||||
*/
|
||||
void setMaxStaticMusicBitrate(std::optional<qint32> newMaxStaticMusicBitrate);
|
||||
bool maxStaticMusicBitrateNull() const;
|
||||
void setMaxStaticMusicBitrateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
|
||||
*/
|
||||
QString sonyAggregationFlags() const;
|
||||
/**
|
||||
* @brief Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
|
||||
*/
|
||||
void setSonyAggregationFlags(QString newSonyAggregationFlags);
|
||||
bool sonyAggregationFlagsNull() const;
|
||||
void setSonyAggregationFlagsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ProtocolInfo.
|
||||
*/
|
||||
QString protocolInfo() const;
|
||||
/**
|
||||
* @brief Gets or sets the ProtocolInfo.
|
||||
*/
|
||||
void setProtocolInfo(QString newProtocolInfo);
|
||||
bool protocolInfoNull() const;
|
||||
void setProtocolInfoNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the TimelineOffsetSeconds.
|
||||
*/
|
||||
qint32 timelineOffsetSeconds() const;
|
||||
/**
|
||||
* @brief Gets or sets the TimelineOffsetSeconds.
|
||||
*/
|
||||
void setTimelineOffsetSeconds(qint32 newTimelineOffsetSeconds);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether RequiresPlainVideoItems.
|
||||
*/
|
||||
bool requiresPlainVideoItems() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether RequiresPlainVideoItems.
|
||||
*/
|
||||
void setRequiresPlainVideoItems(bool newRequiresPlainVideoItems);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether RequiresPlainFolders.
|
||||
*/
|
||||
bool requiresPlainFolders() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether RequiresPlainFolders.
|
||||
*/
|
||||
void setRequiresPlainFolders(bool newRequiresPlainFolders);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar.
|
||||
*/
|
||||
bool enableMSMediaReceiverRegistrar() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar.
|
||||
*/
|
||||
void setEnableMSMediaReceiverRegistrar(bool newEnableMSMediaReceiverRegistrar);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests.
|
||||
*/
|
||||
bool ignoreTranscodeByteRangeRequests() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests.
|
||||
*/
|
||||
void setIgnoreTranscodeByteRangeRequests(bool newIgnoreTranscodeByteRangeRequests);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the XmlRootAttributes.
|
||||
*/
|
||||
QList<XmlAttribute> xmlRootAttributes() const;
|
||||
/**
|
||||
* @brief Gets or sets the XmlRootAttributes.
|
||||
*/
|
||||
void setXmlRootAttributes(QList<XmlAttribute> newXmlRootAttributes);
|
||||
bool xmlRootAttributesNull() const;
|
||||
void setXmlRootAttributesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the direct play profiles.
|
||||
*/
|
||||
|
@ -429,8 +148,6 @@ public:
|
|||
* @brief Gets or sets the direct play profiles.
|
||||
*/
|
||||
void setDirectPlayProfiles(QList<DirectPlayProfile> newDirectPlayProfiles);
|
||||
bool directPlayProfilesNull() const;
|
||||
void setDirectPlayProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the transcoding profiles.
|
||||
|
@ -440,93 +157,46 @@ public:
|
|||
* @brief Gets or sets the transcoding profiles.
|
||||
*/
|
||||
void setTranscodingProfiles(QList<TranscodingProfile> newTranscodingProfiles);
|
||||
bool transcodingProfilesNull() const;
|
||||
void setTranscodingProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ContainerProfiles.
|
||||
* @brief Gets or sets the container profiles. Failing to meet these optional conditions causes transcoding to occur.
|
||||
*/
|
||||
QList<ContainerProfile> containerProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the ContainerProfiles.
|
||||
* @brief Gets or sets the container profiles. Failing to meet these optional conditions causes transcoding to occur.
|
||||
*/
|
||||
void setContainerProfiles(QList<ContainerProfile> newContainerProfiles);
|
||||
bool containerProfilesNull() const;
|
||||
void setContainerProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the CodecProfiles.
|
||||
* @brief Gets or sets the codec profiles.
|
||||
*/
|
||||
QList<CodecProfile> codecProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the CodecProfiles.
|
||||
* @brief Gets or sets the codec profiles.
|
||||
*/
|
||||
void setCodecProfiles(QList<CodecProfile> newCodecProfiles);
|
||||
bool codecProfilesNull() const;
|
||||
void setCodecProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the ResponseProfiles.
|
||||
*/
|
||||
QList<ResponseProfile> responseProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the ResponseProfiles.
|
||||
*/
|
||||
void setResponseProfiles(QList<ResponseProfile> newResponseProfiles);
|
||||
bool responseProfilesNull() const;
|
||||
void setResponseProfilesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the SubtitleProfiles.
|
||||
* @brief Gets or sets the subtitle profiles.
|
||||
*/
|
||||
QList<SubtitleProfile> subtitleProfiles() const;
|
||||
/**
|
||||
* @brief Gets or sets the SubtitleProfiles.
|
||||
* @brief Gets or sets the subtitle profiles.
|
||||
*/
|
||||
void setSubtitleProfiles(QList<SubtitleProfile> newSubtitleProfiles);
|
||||
bool subtitleProfilesNull() const;
|
||||
void setSubtitleProfilesNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_jellyfinId;
|
||||
QSharedPointer<DeviceIdentification> m_identification = QSharedPointer<DeviceIdentification>();
|
||||
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;
|
||||
std::optional<qint32> m_maxIconWidth = std::nullopt;
|
||||
std::optional<qint32> m_maxIconHeight = std::nullopt;
|
||||
std::optional<qint32> m_maxStreamingBitrate = std::nullopt;
|
||||
std::optional<qint32> m_maxStaticBitrate = std::nullopt;
|
||||
std::optional<qint32> m_musicStreamingTranscodingBitrate = std::nullopt;
|
||||
std::optional<qint32> m_maxStaticMusicBitrate = std::nullopt;
|
||||
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;
|
||||
|
||||
private:
|
||||
|
|
|
@ -48,7 +48,8 @@ namespace DTO {
|
|||
|
||||
class DirectPlayProfile {
|
||||
public:
|
||||
DirectPlayProfile(
|
||||
DirectPlayProfile(
|
||||
QString container,
|
||||
DlnaProfileType type
|
||||
);
|
||||
|
||||
|
@ -64,23 +65,33 @@ public:
|
|||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the container.
|
||||
*/
|
||||
QString container() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the container.
|
||||
*/
|
||||
void setContainer(QString newContainer);
|
||||
bool containerNull() const;
|
||||
void setContainerNull();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the audio codec.
|
||||
*/
|
||||
QString audioCodec() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the audio codec.
|
||||
*/
|
||||
void setAudioCodec(QString newAudioCodec);
|
||||
bool audioCodecNull() const;
|
||||
void setAudioCodecNull();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the video codec.
|
||||
*/
|
||||
QString videoCodec() const;
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the video codec.
|
||||
*/
|
||||
void setVideoCodec(QString newVideoCodec);
|
||||
bool videoCodecNull() const;
|
||||
void setVideoCodecNull();
|
||||
|
|
|
@ -52,7 +52,8 @@ public:
|
|||
DisplayPreferencesDto(
|
||||
bool rememberIndexing,
|
||||
qint32 primaryImageHeight,
|
||||
qint32 primaryImageWidth,
|
||||
qint32 primaryImageWidth,
|
||||
QJsonObject customPrefs,
|
||||
ScrollDirection scrollDirection,
|
||||
bool showBackdrop,
|
||||
bool rememberSorting,
|
||||
|
@ -151,8 +152,6 @@ public:
|
|||
* @brief Gets or sets the custom prefs.
|
||||
*/
|
||||
void setCustomPrefs(QJsonObject newCustomPrefs);
|
||||
bool customPrefsNull() const;
|
||||
void setCustomPrefsNull();
|
||||
|
||||
|
||||
ScrollDirection scrollDirection() const;
|
||||
|
|
|
@ -51,6 +51,8 @@ public:
|
|||
Audio,
|
||||
Video,
|
||||
Photo,
|
||||
Subtitle,
|
||||
Lyric,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
|
|
79
core/include/JellyfinQt/dto/downmixstereoalgorithms.h
Normal file
79
core/include/JellyfinQt/dto/downmixstereoalgorithms.h
Normal file
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* 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_DOWNMIXSTEREOALGORITHMS_H
|
||||
#define JELLYFIN_DTO_DOWNMIXSTEREOALGORITHMS_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class DownMixStereoAlgorithmsClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
None,
|
||||
Dave750,
|
||||
NightmodeDialogue,
|
||||
Rfc7845,
|
||||
Ac4,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit DownMixStereoAlgorithmsClass();
|
||||
};
|
||||
|
||||
using DownMixStereoAlgorithms = DownMixStereoAlgorithmsClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using DownMixStereoAlgorithms = Jellyfin::DTO::DownMixStereoAlgorithms;
|
||||
|
||||
template <>
|
||||
DownMixStereoAlgorithms fromJsonValue(const QJsonValue &source, convertType<DownMixStereoAlgorithms>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const DownMixStereoAlgorithms &source, convertType<DownMixStereoAlgorithms>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_DOWNMIXSTEREOALGORITHMS_H
|
78
core/include/JellyfinQt/dto/embeddedsubtitleoptions.h
Normal file
78
core/include/JellyfinQt/dto/embeddedsubtitleoptions.h
Normal 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_EMBEDDEDSUBTITLEOPTIONS_H
|
||||
#define JELLYFIN_DTO_EMBEDDEDSUBTITLEOPTIONS_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class EmbeddedSubtitleOptionsClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
AllowAll,
|
||||
AllowText,
|
||||
AllowImage,
|
||||
AllowNone,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit EmbeddedSubtitleOptionsClass();
|
||||
};
|
||||
|
||||
using EmbeddedSubtitleOptions = EmbeddedSubtitleOptionsClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using EmbeddedSubtitleOptions = Jellyfin::DTO::EmbeddedSubtitleOptions;
|
||||
|
||||
template <>
|
||||
EmbeddedSubtitleOptions fromJsonValue(const QJsonValue &source, convertType<EmbeddedSubtitleOptions>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const EmbeddedSubtitleOptions &source, convertType<EmbeddedSubtitleOptions>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_EMBEDDEDSUBTITLEOPTIONS_H
|
85
core/include/JellyfinQt/dto/encoderpreset.h
Normal file
85
core/include/JellyfinQt/dto/encoderpreset.h
Normal file
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* 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_ENCODERPRESET_H
|
||||
#define JELLYFIN_DTO_ENCODERPRESET_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class EncoderPresetClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
Automatic,
|
||||
Placebo,
|
||||
Veryslow,
|
||||
Slower,
|
||||
Slow,
|
||||
Medium,
|
||||
Fast,
|
||||
Faster,
|
||||
Veryfast,
|
||||
Superfast,
|
||||
Ultrafast,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit EncoderPresetClass();
|
||||
};
|
||||
|
||||
using EncoderPreset = EncoderPresetClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using EncoderPreset = Jellyfin::DTO::EncoderPreset;
|
||||
|
||||
template <>
|
||||
EncoderPreset fromJsonValue(const QJsonValue &source, convertType<EncoderPreset>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const EncoderPreset &source, convertType<EncoderPreset>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_ENCODERPRESET_H
|
595
core/include/JellyfinQt/dto/encodingoptions.h
Normal file
595
core/include/JellyfinQt/dto/encodingoptions.h
Normal file
|
@ -0,0 +1,595 @@
|
|||
/*
|
||||
* 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_ENCODINGOPTIONS_H
|
||||
#define JELLYFIN_DTO_ENCODINGOPTIONS_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/deinterlacemethod.h"
|
||||
#include "JellyfinQt/dto/downmixstereoalgorithms.h"
|
||||
#include "JellyfinQt/dto/encoderpreset.h"
|
||||
#include "JellyfinQt/dto/hardwareaccelerationtype.h"
|
||||
#include "JellyfinQt/dto/tonemappingalgorithm.h"
|
||||
#include "JellyfinQt/dto/tonemappingmode.h"
|
||||
#include "JellyfinQt/dto/tonemappingrange.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class EncodingOptions {
|
||||
public:
|
||||
EncodingOptions(
|
||||
qint32 encodingThreadCount,
|
||||
bool enableFallbackFont,
|
||||
bool enableAudioVbr,
|
||||
double downMixAudioBoost,
|
||||
DownMixStereoAlgorithms downMixStereoAlgorithm,
|
||||
qint32 maxMuxingQueueSize,
|
||||
bool enableThrottling,
|
||||
qint32 throttleDelaySeconds,
|
||||
bool enableSegmentDeletion,
|
||||
qint32 segmentKeepSeconds,
|
||||
HardwareAccelerationType hardwareAccelerationType,
|
||||
bool enableTonemapping,
|
||||
bool enableVppTonemapping,
|
||||
bool enableVideoToolboxTonemapping,
|
||||
TonemappingAlgorithm tonemappingAlgorithm,
|
||||
TonemappingMode tonemappingMode,
|
||||
TonemappingRange tonemappingRange,
|
||||
double tonemappingDesat,
|
||||
double tonemappingPeak,
|
||||
double tonemappingParam,
|
||||
double vppTonemappingBrightness,
|
||||
double vppTonemappingContrast,
|
||||
qint32 h264Crf,
|
||||
qint32 h265Crf,
|
||||
EncoderPreset encoderPreset,
|
||||
bool deinterlaceDoubleRate,
|
||||
DeinterlaceMethod deinterlaceMethod,
|
||||
bool enableDecodingColorDepth10Hevc,
|
||||
bool enableDecodingColorDepth10Vp9,
|
||||
bool enableDecodingColorDepth10HevcRext,
|
||||
bool enableDecodingColorDepth12HevcRext,
|
||||
bool enableEnhancedNvdecDecoder,
|
||||
bool preferSystemNativeHwDecoder,
|
||||
bool enableIntelLowPowerH264HwEncoder,
|
||||
bool enableIntelLowPowerHevcHwEncoder,
|
||||
bool enableHardwareEncoding,
|
||||
bool allowHevcEncoding,
|
||||
bool allowAv1Encoding,
|
||||
bool enableSubtitleExtraction
|
||||
);
|
||||
|
||||
EncodingOptions(const EncodingOptions &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(EncodingOptions &other);
|
||||
|
||||
static EncodingOptions fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the thread count used for encoding.
|
||||
*/
|
||||
qint32 encodingThreadCount() const;
|
||||
/**
|
||||
* @brief Gets or sets the thread count used for encoding.
|
||||
*/
|
||||
void setEncodingThreadCount(qint32 newEncodingThreadCount);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the temporary transcoding path.
|
||||
*/
|
||||
QString transcodingTempPath() const;
|
||||
/**
|
||||
* @brief Gets or sets the temporary transcoding path.
|
||||
*/
|
||||
void setTranscodingTempPath(QString newTranscodingTempPath);
|
||||
bool transcodingTempPathNull() const;
|
||||
void setTranscodingTempPathNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the path to the fallback font.
|
||||
*/
|
||||
QString fallbackFontPath() const;
|
||||
/**
|
||||
* @brief Gets or sets the path to the fallback font.
|
||||
*/
|
||||
void setFallbackFontPath(QString newFallbackFontPath);
|
||||
bool fallbackFontPathNull() const;
|
||||
void setFallbackFontPathNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether to use the fallback font.
|
||||
*/
|
||||
bool enableFallbackFont() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether to use the fallback font.
|
||||
*/
|
||||
void setEnableFallbackFont(bool newEnableFallbackFont);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether audio VBR is enabled.
|
||||
*/
|
||||
bool enableAudioVbr() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether audio VBR is enabled.
|
||||
*/
|
||||
void setEnableAudioVbr(bool newEnableAudioVbr);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the audio boost applied when downmixing audio.
|
||||
*/
|
||||
double downMixAudioBoost() const;
|
||||
/**
|
||||
* @brief Gets or sets the audio boost applied when downmixing audio.
|
||||
*/
|
||||
void setDownMixAudioBoost(double newDownMixAudioBoost);
|
||||
|
||||
|
||||
DownMixStereoAlgorithms downMixStereoAlgorithm() const;
|
||||
|
||||
void setDownMixStereoAlgorithm(DownMixStereoAlgorithms newDownMixStereoAlgorithm);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the maximum size of the muxing queue.
|
||||
*/
|
||||
qint32 maxMuxingQueueSize() const;
|
||||
/**
|
||||
* @brief Gets or sets the maximum size of the muxing queue.
|
||||
*/
|
||||
void setMaxMuxingQueueSize(qint32 newMaxMuxingQueueSize);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether throttling is enabled.
|
||||
*/
|
||||
bool enableThrottling() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether throttling is enabled.
|
||||
*/
|
||||
void setEnableThrottling(bool newEnableThrottling);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the delay after which throttling happens.
|
||||
*/
|
||||
qint32 throttleDelaySeconds() const;
|
||||
/**
|
||||
* @brief Gets or sets the delay after which throttling happens.
|
||||
*/
|
||||
void setThrottleDelaySeconds(qint32 newThrottleDelaySeconds);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether segment deletion is enabled.
|
||||
*/
|
||||
bool enableSegmentDeletion() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether segment deletion is enabled.
|
||||
*/
|
||||
void setEnableSegmentDeletion(bool newEnableSegmentDeletion);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets seconds for which segments should be kept before being deleted.
|
||||
*/
|
||||
qint32 segmentKeepSeconds() const;
|
||||
/**
|
||||
* @brief Gets or sets seconds for which segments should be kept before being deleted.
|
||||
*/
|
||||
void setSegmentKeepSeconds(qint32 newSegmentKeepSeconds);
|
||||
|
||||
|
||||
HardwareAccelerationType hardwareAccelerationType() const;
|
||||
|
||||
void setHardwareAccelerationType(HardwareAccelerationType newHardwareAccelerationType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the FFmpeg path as set by the user via the UI.
|
||||
*/
|
||||
QString encoderAppPath() const;
|
||||
/**
|
||||
* @brief Gets or sets the FFmpeg path as set by the user via the UI.
|
||||
*/
|
||||
void setEncoderAppPath(QString newEncoderAppPath);
|
||||
bool encoderAppPathNull() const;
|
||||
void setEncoderAppPathNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the current FFmpeg path being used by the system and displayed on the transcode page.
|
||||
*/
|
||||
QString encoderAppPathDisplay() const;
|
||||
/**
|
||||
* @brief Gets or sets the current FFmpeg path being used by the system and displayed on the transcode page.
|
||||
*/
|
||||
void setEncoderAppPathDisplay(QString newEncoderAppPathDisplay);
|
||||
bool encoderAppPathDisplayNull() const;
|
||||
void setEncoderAppPathDisplayNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the VA-API device.
|
||||
*/
|
||||
QString vaapiDevice() const;
|
||||
/**
|
||||
* @brief Gets or sets the VA-API device.
|
||||
*/
|
||||
void setVaapiDevice(QString newVaapiDevice);
|
||||
bool vaapiDeviceNull() const;
|
||||
void setVaapiDeviceNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the QSV device.
|
||||
*/
|
||||
QString qsvDevice() const;
|
||||
/**
|
||||
* @brief Gets or sets the QSV device.
|
||||
*/
|
||||
void setQsvDevice(QString newQsvDevice);
|
||||
bool qsvDeviceNull() const;
|
||||
void setQsvDeviceNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether tonemapping is enabled.
|
||||
*/
|
||||
bool enableTonemapping() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether tonemapping is enabled.
|
||||
*/
|
||||
void setEnableTonemapping(bool newEnableTonemapping);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether VPP tonemapping is enabled.
|
||||
*/
|
||||
bool enableVppTonemapping() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether VPP tonemapping is enabled.
|
||||
*/
|
||||
void setEnableVppTonemapping(bool newEnableVppTonemapping);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether videotoolbox tonemapping is enabled.
|
||||
*/
|
||||
bool enableVideoToolboxTonemapping() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether videotoolbox tonemapping is enabled.
|
||||
*/
|
||||
void setEnableVideoToolboxTonemapping(bool newEnableVideoToolboxTonemapping);
|
||||
|
||||
|
||||
TonemappingAlgorithm tonemappingAlgorithm() const;
|
||||
|
||||
void setTonemappingAlgorithm(TonemappingAlgorithm newTonemappingAlgorithm);
|
||||
|
||||
|
||||
TonemappingMode tonemappingMode() const;
|
||||
|
||||
void setTonemappingMode(TonemappingMode newTonemappingMode);
|
||||
|
||||
|
||||
TonemappingRange tonemappingRange() const;
|
||||
|
||||
void setTonemappingRange(TonemappingRange newTonemappingRange);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the tone-mapping desaturation.
|
||||
*/
|
||||
double tonemappingDesat() const;
|
||||
/**
|
||||
* @brief Gets or sets the tone-mapping desaturation.
|
||||
*/
|
||||
void setTonemappingDesat(double newTonemappingDesat);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the tone-mapping peak.
|
||||
*/
|
||||
double tonemappingPeak() const;
|
||||
/**
|
||||
* @brief Gets or sets the tone-mapping peak.
|
||||
*/
|
||||
void setTonemappingPeak(double newTonemappingPeak);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the tone-mapping parameters.
|
||||
*/
|
||||
double tonemappingParam() const;
|
||||
/**
|
||||
* @brief Gets or sets the tone-mapping parameters.
|
||||
*/
|
||||
void setTonemappingParam(double newTonemappingParam);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the VPP tone-mapping brightness.
|
||||
*/
|
||||
double vppTonemappingBrightness() const;
|
||||
/**
|
||||
* @brief Gets or sets the VPP tone-mapping brightness.
|
||||
*/
|
||||
void setVppTonemappingBrightness(double newVppTonemappingBrightness);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the VPP tone-mapping contrast.
|
||||
*/
|
||||
double vppTonemappingContrast() const;
|
||||
/**
|
||||
* @brief Gets or sets the VPP tone-mapping contrast.
|
||||
*/
|
||||
void setVppTonemappingContrast(double newVppTonemappingContrast);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the H264 CRF.
|
||||
*/
|
||||
qint32 h264Crf() const;
|
||||
/**
|
||||
* @brief Gets or sets the H264 CRF.
|
||||
*/
|
||||
void setH264Crf(qint32 newH264Crf);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the H265 CRF.
|
||||
*/
|
||||
qint32 h265Crf() const;
|
||||
/**
|
||||
* @brief Gets or sets the H265 CRF.
|
||||
*/
|
||||
void setH265Crf(qint32 newH265Crf);
|
||||
|
||||
|
||||
EncoderPreset encoderPreset() const;
|
||||
|
||||
void setEncoderPreset(EncoderPreset newEncoderPreset);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the framerate is doubled when deinterlacing.
|
||||
*/
|
||||
bool deinterlaceDoubleRate() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the framerate is doubled when deinterlacing.
|
||||
*/
|
||||
void setDeinterlaceDoubleRate(bool newDeinterlaceDoubleRate);
|
||||
|
||||
|
||||
DeinterlaceMethod deinterlaceMethod() const;
|
||||
|
||||
void setDeinterlaceMethod(DeinterlaceMethod newDeinterlaceMethod);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 10bit HEVC decoding is enabled.
|
||||
*/
|
||||
bool enableDecodingColorDepth10Hevc() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 10bit HEVC decoding is enabled.
|
||||
*/
|
||||
void setEnableDecodingColorDepth10Hevc(bool newEnableDecodingColorDepth10Hevc);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 10bit VP9 decoding is enabled.
|
||||
*/
|
||||
bool enableDecodingColorDepth10Vp9() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 10bit VP9 decoding is enabled.
|
||||
*/
|
||||
void setEnableDecodingColorDepth10Vp9(bool newEnableDecodingColorDepth10Vp9);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 8/10bit HEVC RExt decoding is enabled.
|
||||
*/
|
||||
bool enableDecodingColorDepth10HevcRext() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 8/10bit HEVC RExt decoding is enabled.
|
||||
*/
|
||||
void setEnableDecodingColorDepth10HevcRext(bool newEnableDecodingColorDepth10HevcRext);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 12bit HEVC RExt decoding is enabled.
|
||||
*/
|
||||
bool enableDecodingColorDepth12HevcRext() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether 12bit HEVC RExt decoding is enabled.
|
||||
*/
|
||||
void setEnableDecodingColorDepth12HevcRext(bool newEnableDecodingColorDepth12HevcRext);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the enhanced NVDEC is enabled.
|
||||
*/
|
||||
bool enableEnhancedNvdecDecoder() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the enhanced NVDEC is enabled.
|
||||
*/
|
||||
void setEnableEnhancedNvdecDecoder(bool newEnableEnhancedNvdecDecoder);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the system native hardware decoder should be used.
|
||||
*/
|
||||
bool preferSystemNativeHwDecoder() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the system native hardware decoder should be used.
|
||||
*/
|
||||
void setPreferSystemNativeHwDecoder(bool newPreferSystemNativeHwDecoder);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the Intel H264 low-power hardware encoder should be used.
|
||||
*/
|
||||
bool enableIntelLowPowerH264HwEncoder() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the Intel H264 low-power hardware encoder should be used.
|
||||
*/
|
||||
void setEnableIntelLowPowerH264HwEncoder(bool newEnableIntelLowPowerH264HwEncoder);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the Intel HEVC low-power hardware encoder should be used.
|
||||
*/
|
||||
bool enableIntelLowPowerHevcHwEncoder() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether the Intel HEVC low-power hardware encoder should be used.
|
||||
*/
|
||||
void setEnableIntelLowPowerHevcHwEncoder(bool newEnableIntelLowPowerHevcHwEncoder);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether hardware encoding is enabled.
|
||||
*/
|
||||
bool enableHardwareEncoding() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether hardware encoding is enabled.
|
||||
*/
|
||||
void setEnableHardwareEncoding(bool newEnableHardwareEncoding);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether HEVC encoding is enabled.
|
||||
*/
|
||||
bool allowHevcEncoding() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether HEVC encoding is enabled.
|
||||
*/
|
||||
void setAllowHevcEncoding(bool newAllowHevcEncoding);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether AV1 encoding is enabled.
|
||||
*/
|
||||
bool allowAv1Encoding() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether AV1 encoding is enabled.
|
||||
*/
|
||||
void setAllowAv1Encoding(bool newAllowAv1Encoding);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether subtitle extraction is enabled.
|
||||
*/
|
||||
bool enableSubtitleExtraction() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether subtitle extraction is enabled.
|
||||
*/
|
||||
void setEnableSubtitleExtraction(bool newEnableSubtitleExtraction);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the codecs hardware encoding is used for.
|
||||
*/
|
||||
QStringList hardwareDecodingCodecs() const;
|
||||
/**
|
||||
* @brief Gets or sets the codecs hardware encoding is used for.
|
||||
*/
|
||||
void setHardwareDecodingCodecs(QStringList newHardwareDecodingCodecs);
|
||||
bool hardwareDecodingCodecsNull() const;
|
||||
void setHardwareDecodingCodecsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the file extensions on-demand metadata based keyframe extraction is enabled for.
|
||||
*/
|
||||
QStringList allowOnDemandMetadataBasedKeyframeExtractionForExtensions() const;
|
||||
/**
|
||||
* @brief Gets or sets the file extensions on-demand metadata based keyframe extraction is enabled for.
|
||||
*/
|
||||
void setAllowOnDemandMetadataBasedKeyframeExtractionForExtensions(QStringList newAllowOnDemandMetadataBasedKeyframeExtractionForExtensions);
|
||||
bool allowOnDemandMetadataBasedKeyframeExtractionForExtensionsNull() const;
|
||||
void setAllowOnDemandMetadataBasedKeyframeExtractionForExtensionsNull();
|
||||
|
||||
|
||||
protected:
|
||||
qint32 m_encodingThreadCount;
|
||||
QString m_transcodingTempPath;
|
||||
QString m_fallbackFontPath;
|
||||
bool m_enableFallbackFont;
|
||||
bool m_enableAudioVbr;
|
||||
double m_downMixAudioBoost;
|
||||
DownMixStereoAlgorithms m_downMixStereoAlgorithm;
|
||||
qint32 m_maxMuxingQueueSize;
|
||||
bool m_enableThrottling;
|
||||
qint32 m_throttleDelaySeconds;
|
||||
bool m_enableSegmentDeletion;
|
||||
qint32 m_segmentKeepSeconds;
|
||||
HardwareAccelerationType m_hardwareAccelerationType;
|
||||
QString m_encoderAppPath;
|
||||
QString m_encoderAppPathDisplay;
|
||||
QString m_vaapiDevice;
|
||||
QString m_qsvDevice;
|
||||
bool m_enableTonemapping;
|
||||
bool m_enableVppTonemapping;
|
||||
bool m_enableVideoToolboxTonemapping;
|
||||
TonemappingAlgorithm m_tonemappingAlgorithm;
|
||||
TonemappingMode m_tonemappingMode;
|
||||
TonemappingRange m_tonemappingRange;
|
||||
double m_tonemappingDesat;
|
||||
double m_tonemappingPeak;
|
||||
double m_tonemappingParam;
|
||||
double m_vppTonemappingBrightness;
|
||||
double m_vppTonemappingContrast;
|
||||
qint32 m_h264Crf;
|
||||
qint32 m_h265Crf;
|
||||
EncoderPreset m_encoderPreset;
|
||||
bool m_deinterlaceDoubleRate;
|
||||
DeinterlaceMethod m_deinterlaceMethod;
|
||||
bool m_enableDecodingColorDepth10Hevc;
|
||||
bool m_enableDecodingColorDepth10Vp9;
|
||||
bool m_enableDecodingColorDepth10HevcRext;
|
||||
bool m_enableDecodingColorDepth12HevcRext;
|
||||
bool m_enableEnhancedNvdecDecoder;
|
||||
bool m_preferSystemNativeHwDecoder;
|
||||
bool m_enableIntelLowPowerH264HwEncoder;
|
||||
bool m_enableIntelLowPowerHevcHwEncoder;
|
||||
bool m_enableHardwareEncoding;
|
||||
bool m_allowHevcEncoding;
|
||||
bool m_allowAv1Encoding;
|
||||
bool m_enableSubtitleExtraction;
|
||||
QStringList m_hardwareDecodingCodecs;
|
||||
QStringList m_allowOnDemandMetadataBasedKeyframeExtractionForExtensions;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing EncodingOptions::fromJson();
|
||||
EncodingOptions();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using EncodingOptions = Jellyfin::DTO::EncodingOptions;
|
||||
|
||||
template <>
|
||||
EncodingOptions fromJsonValue(const QJsonValue &source, convertType<EncodingOptions>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const EncodingOptions &source, convertType<EncodingOptions>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_ENCODINGOPTIONS_H
|
|
@ -48,7 +48,9 @@ namespace DTO {
|
|||
|
||||
class ExternalIdInfo {
|
||||
public:
|
||||
ExternalIdInfo(
|
||||
ExternalIdInfo(
|
||||
QString name,
|
||||
QString key,
|
||||
ExternalIdMediaType type
|
||||
);
|
||||
|
||||
|
@ -72,8 +74,6 @@ public:
|
|||
* @brief Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc).
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the unique key for this id. This key should be unique across all providers.
|
||||
|
@ -83,8 +83,6 @@ public:
|
|||
* @brief Gets or sets the unique key for this id. This key should be unique across all providers.
|
||||
*/
|
||||
void setKey(QString newKey);
|
||||
bool keyNull() const;
|
||||
void setKeyNull();
|
||||
|
||||
|
||||
ExternalIdMediaType type() const;
|
||||
|
|
|
@ -60,6 +60,7 @@ public:
|
|||
Season,
|
||||
Series,
|
||||
Track,
|
||||
Book,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
|
|
86
core/include/JellyfinQt/dto/extratype.h
Normal file
86
core/include/JellyfinQt/dto/extratype.h
Normal 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_EXTRATYPE_H
|
||||
#define JELLYFIN_DTO_EXTRATYPE_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class ExtraTypeClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
Unknown,
|
||||
Clip,
|
||||
Trailer,
|
||||
BehindTheScenes,
|
||||
DeletedScene,
|
||||
Interview,
|
||||
Scene,
|
||||
Sample,
|
||||
ThemeSong,
|
||||
ThemeVideo,
|
||||
Featurette,
|
||||
Short,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit ExtraTypeClass();
|
||||
};
|
||||
|
||||
using ExtraType = ExtraTypeClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ExtraType = Jellyfin::DTO::ExtraType;
|
||||
|
||||
template <>
|
||||
ExtraType fromJsonValue(const QJsonValue &source, convertType<ExtraType>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const ExtraType &source, convertType<ExtraType>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_EXTRATYPE_H
|
|
@ -48,7 +48,9 @@ namespace DTO {
|
|||
|
||||
class FileSystemEntryInfo {
|
||||
public:
|
||||
FileSystemEntryInfo(
|
||||
FileSystemEntryInfo(
|
||||
QString name,
|
||||
QString path,
|
||||
FileSystemEntryType type
|
||||
);
|
||||
|
||||
|
@ -72,8 +74,6 @@ public:
|
|||
* @brief Gets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets the path.
|
||||
|
@ -83,8 +83,6 @@ public:
|
|||
* @brief Gets the path.
|
||||
*/
|
||||
void setPath(QString newPath);
|
||||
bool pathNull() const;
|
||||
void setPathNull();
|
||||
|
||||
|
||||
FileSystemEntryType type() const;
|
||||
|
|
119
core/include/JellyfinQt/dto/forcekeepalivemessage.h
Normal file
119
core/include/JellyfinQt/dto/forcekeepalivemessage.h
Normal file
|
@ -0,0 +1,119 @@
|
|||
/*
|
||||
* 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_FORCEKEEPALIVEMESSAGE_H
|
||||
#define JELLYFIN_DTO_FORCEKEEPALIVEMESSAGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/sessionmessagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class ForceKeepAliveMessage {
|
||||
public:
|
||||
ForceKeepAliveMessage(
|
||||
qint32 data,
|
||||
QString messageId,
|
||||
SessionMessageType messageType
|
||||
);
|
||||
|
||||
ForceKeepAliveMessage(const ForceKeepAliveMessage &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ForceKeepAliveMessage &other);
|
||||
|
||||
static ForceKeepAliveMessage fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the data.
|
||||
*/
|
||||
qint32 data() const;
|
||||
/**
|
||||
* @brief Gets or sets the data.
|
||||
*/
|
||||
void setData(qint32 newData);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
QString messageId() const;
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
void setMessageId(QString newMessageId);
|
||||
|
||||
|
||||
SessionMessageType messageType() const;
|
||||
|
||||
void setMessageType(SessionMessageType newMessageType);
|
||||
|
||||
|
||||
protected:
|
||||
qint32 m_data;
|
||||
QString m_messageId;
|
||||
SessionMessageType m_messageType;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ForceKeepAliveMessage::fromJson();
|
||||
ForceKeepAliveMessage();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ForceKeepAliveMessage = Jellyfin::DTO::ForceKeepAliveMessage;
|
||||
|
||||
template <>
|
||||
ForceKeepAliveMessage fromJsonValue(const QJsonValue &source, convertType<ForceKeepAliveMessage>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ForceKeepAliveMessage &source, convertType<ForceKeepAliveMessage>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_FORCEKEEPALIVEMESSAGE_H
|
|
@ -27,8 +27,8 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_XMLATTRIBUTE_H
|
||||
#define JELLYFIN_DTO_XMLATTRIBUTE_H
|
||||
#ifndef JELLYFIN_DTO_FORGOTPASSWORDPINDTO_H
|
||||
#define JELLYFIN_DTO_FORGOTPASSWORDPINDTO_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
|
@ -45,48 +45,40 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class XmlAttribute {
|
||||
public: XmlAttribute();
|
||||
XmlAttribute(const XmlAttribute &other);
|
||||
class ForgotPasswordPinDto {
|
||||
public:
|
||||
ForgotPasswordPinDto(
|
||||
QString pin
|
||||
);
|
||||
|
||||
ForgotPasswordPinDto(const ForgotPasswordPinDto &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(XmlAttribute &other);
|
||||
void replaceData(ForgotPasswordPinDto &other);
|
||||
|
||||
static XmlAttribute fromJson(QJsonObject source);
|
||||
static ForgotPasswordPinDto fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the name of the attribute.
|
||||
* @brief Gets or sets the entered pin to have the password reset.
|
||||
*/
|
||||
QString name() const;
|
||||
QString pin() const;
|
||||
/**
|
||||
* @brief Gets or sets the name of the attribute.
|
||||
* @brief Gets or sets the entered pin to have the password reset.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the value of the attribute.
|
||||
*/
|
||||
QString value() const;
|
||||
/**
|
||||
* @brief Gets or sets the value of the attribute.
|
||||
*/
|
||||
void setValue(QString newValue);
|
||||
bool valueNull() const;
|
||||
void setValueNull();
|
||||
void setPin(QString newPin);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_value;
|
||||
|
||||
QString m_pin;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ForgotPasswordPinDto::fromJson();
|
||||
ForgotPasswordPinDto();
|
||||
};
|
||||
|
||||
|
||||
|
@ -94,15 +86,15 @@ protected:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using XmlAttribute = Jellyfin::DTO::XmlAttribute;
|
||||
using ForgotPasswordPinDto = Jellyfin::DTO::ForgotPasswordPinDto;
|
||||
|
||||
template <>
|
||||
XmlAttribute fromJsonValue(const QJsonValue &source, convertType<XmlAttribute>);
|
||||
ForgotPasswordPinDto fromJsonValue(const QJsonValue &source, convertType<ForgotPasswordPinDto>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const XmlAttribute &source, convertType<XmlAttribute>);
|
||||
QJsonValue toJsonValue(const ForgotPasswordPinDto &source, convertType<ForgotPasswordPinDto>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_XMLATTRIBUTE_H
|
||||
#endif // JELLYFIN_DTO_FORGOTPASSWORDPINDTO_H
|
|
@ -50,7 +50,8 @@ class GeneralCommand {
|
|||
public:
|
||||
GeneralCommand(
|
||||
GeneralCommandType name,
|
||||
QString controllingUserId
|
||||
QString controllingUserId,
|
||||
QJsonObject arguments
|
||||
);
|
||||
|
||||
GeneralCommand(const GeneralCommand &other);
|
||||
|
@ -79,8 +80,6 @@ public:
|
|||
QJsonObject arguments() const;
|
||||
|
||||
void setArguments(QJsonObject newArguments);
|
||||
bool argumentsNull() const;
|
||||
void setArgumentsNull();
|
||||
|
||||
|
||||
protected:
|
||||
|
|
117
core/include/JellyfinQt/dto/generalcommandmessage.h
Normal file
117
core/include/JellyfinQt/dto/generalcommandmessage.h
Normal file
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* 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_GENERALCOMMANDMESSAGE_H
|
||||
#define JELLYFIN_DTO_GENERALCOMMANDMESSAGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/generalcommand.h"
|
||||
#include "JellyfinQt/dto/sessionmessagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class GeneralCommandMessage {
|
||||
public:
|
||||
GeneralCommandMessage(
|
||||
QSharedPointer<GeneralCommand> data,
|
||||
QString messageId,
|
||||
SessionMessageType messageType
|
||||
);
|
||||
|
||||
GeneralCommandMessage(const GeneralCommandMessage &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(GeneralCommandMessage &other);
|
||||
|
||||
static GeneralCommandMessage fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
QSharedPointer<GeneralCommand> data() const;
|
||||
|
||||
void setData(QSharedPointer<GeneralCommand> newData);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
QString messageId() const;
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
void setMessageId(QString newMessageId);
|
||||
|
||||
|
||||
SessionMessageType messageType() const;
|
||||
|
||||
void setMessageType(SessionMessageType newMessageType);
|
||||
|
||||
|
||||
protected:
|
||||
QSharedPointer<GeneralCommand> m_data = QSharedPointer<GeneralCommand>();
|
||||
QString m_messageId;
|
||||
SessionMessageType m_messageType;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing GeneralCommandMessage::fromJson();
|
||||
GeneralCommandMessage();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using GeneralCommandMessage = Jellyfin::DTO::GeneralCommandMessage;
|
||||
|
||||
template <>
|
||||
GeneralCommandMessage fromJsonValue(const QJsonValue &source, convertType<GeneralCommandMessage>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const GeneralCommandMessage &source, convertType<GeneralCommandMessage>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_GENERALCOMMANDMESSAGE_H
|
|
@ -89,6 +89,8 @@ public:
|
|||
PlayNext,
|
||||
ToggleOsdMenu,
|
||||
Play,
|
||||
SetMaxStreamingBitrate,
|
||||
SetPlaybackOrder,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
|
|
|
@ -40,6 +40,8 @@
|
|||
|
||||
#include "JellyfinQt/dto/imagetype.h"
|
||||
#include "JellyfinQt/dto/itemfields.h"
|
||||
#include "JellyfinQt/dto/itemsortby.h"
|
||||
#include "JellyfinQt/dto/sortorder.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -52,10 +54,8 @@ namespace DTO {
|
|||
|
||||
class GetProgramsDto {
|
||||
public:
|
||||
GetProgramsDto(
|
||||
QString userId,
|
||||
bool enableTotalRecordCount,
|
||||
QString librarySeriesId
|
||||
GetProgramsDto(
|
||||
std::optional<bool> enableTotalRecordCount
|
||||
);
|
||||
|
||||
GetProgramsDto(const GetProgramsDto &other);
|
||||
|
@ -89,197 +89,171 @@ public:
|
|||
* @brief Gets or sets optional. Filter by user id.
|
||||
*/
|
||||
void setUserId(QString newUserId);
|
||||
bool userIdNull() const;
|
||||
void setUserIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the minimum premiere start date.
|
||||
Optional.
|
||||
* @brief Gets or sets the minimum premiere start date.
|
||||
*/
|
||||
QDateTime minStartDate() const;
|
||||
/**
|
||||
* @brief Gets or sets the minimum premiere start date.
|
||||
Optional.
|
||||
* @brief Gets or sets the minimum premiere start date.
|
||||
*/
|
||||
void setMinStartDate(QDateTime newMinStartDate);
|
||||
bool minStartDateNull() const;
|
||||
void setMinStartDateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter by programs that have completed airing, or not.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by programs that have completed airing, or not.
|
||||
*/
|
||||
std::optional<bool> hasAired() const;
|
||||
/**
|
||||
* @brief Gets or sets filter by programs that have completed airing, or not.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by programs that have completed airing, or not.
|
||||
*/
|
||||
void setHasAired(std::optional<bool> newHasAired);
|
||||
bool hasAiredNull() const;
|
||||
void setHasAiredNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter by programs that are currently airing, or not.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by programs that are currently airing, or not.
|
||||
*/
|
||||
std::optional<bool> isAiring() const;
|
||||
/**
|
||||
* @brief Gets or sets filter by programs that are currently airing, or not.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by programs that are currently airing, or not.
|
||||
*/
|
||||
void setIsAiring(std::optional<bool> newIsAiring);
|
||||
bool isAiringNull() const;
|
||||
void setIsAiringNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the maximum premiere start date.
|
||||
Optional.
|
||||
* @brief Gets or sets the maximum premiere start date.
|
||||
*/
|
||||
QDateTime maxStartDate() const;
|
||||
/**
|
||||
* @brief Gets or sets the maximum premiere start date.
|
||||
Optional.
|
||||
* @brief Gets or sets the maximum premiere start date.
|
||||
*/
|
||||
void setMaxStartDate(QDateTime newMaxStartDate);
|
||||
bool maxStartDateNull() const;
|
||||
void setMaxStartDateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the minimum premiere end date.
|
||||
Optional.
|
||||
* @brief Gets or sets the minimum premiere end date.
|
||||
*/
|
||||
QDateTime minEndDate() const;
|
||||
/**
|
||||
* @brief Gets or sets the minimum premiere end date.
|
||||
Optional.
|
||||
* @brief Gets or sets the minimum premiere end date.
|
||||
*/
|
||||
void setMinEndDate(QDateTime newMinEndDate);
|
||||
bool minEndDateNull() const;
|
||||
void setMinEndDateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the maximum premiere end date.
|
||||
Optional.
|
||||
* @brief Gets or sets the maximum premiere end date.
|
||||
*/
|
||||
QDateTime maxEndDate() const;
|
||||
/**
|
||||
* @brief Gets or sets the maximum premiere end date.
|
||||
Optional.
|
||||
* @brief Gets or sets the maximum premiere end date.
|
||||
*/
|
||||
void setMaxEndDate(QDateTime newMaxEndDate);
|
||||
bool maxEndDateNull() const;
|
||||
void setMaxEndDateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter for movies.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for movies.
|
||||
*/
|
||||
std::optional<bool> isMovie() const;
|
||||
/**
|
||||
* @brief Gets or sets filter for movies.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for movies.
|
||||
*/
|
||||
void setIsMovie(std::optional<bool> newIsMovie);
|
||||
bool isMovieNull() const;
|
||||
void setIsMovieNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter for series.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for series.
|
||||
*/
|
||||
std::optional<bool> isSeries() const;
|
||||
/**
|
||||
* @brief Gets or sets filter for series.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for series.
|
||||
*/
|
||||
void setIsSeries(std::optional<bool> newIsSeries);
|
||||
bool isSeriesNull() const;
|
||||
void setIsSeriesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter for news.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for news.
|
||||
*/
|
||||
std::optional<bool> isNews() const;
|
||||
/**
|
||||
* @brief Gets or sets filter for news.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for news.
|
||||
*/
|
||||
void setIsNews(std::optional<bool> newIsNews);
|
||||
bool isNewsNull() const;
|
||||
void setIsNewsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter for kids.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for kids.
|
||||
*/
|
||||
std::optional<bool> isKids() const;
|
||||
/**
|
||||
* @brief Gets or sets filter for kids.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for kids.
|
||||
*/
|
||||
void setIsKids(std::optional<bool> newIsKids);
|
||||
bool isKidsNull() const;
|
||||
void setIsKidsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter for sports.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for sports.
|
||||
*/
|
||||
std::optional<bool> isSports() const;
|
||||
/**
|
||||
* @brief Gets or sets filter for sports.
|
||||
Optional.
|
||||
* @brief Gets or sets filter for sports.
|
||||
*/
|
||||
void setIsSports(std::optional<bool> newIsSports);
|
||||
bool isSportsNull() const;
|
||||
void setIsSportsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
|
||||
Optional.
|
||||
* @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
|
||||
*/
|
||||
std::optional<qint32> startIndex() const;
|
||||
/**
|
||||
* @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
|
||||
Optional.
|
||||
* @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
|
||||
*/
|
||||
void setStartIndex(std::optional<qint32> newStartIndex);
|
||||
bool startIndexNull() const;
|
||||
void setStartIndexNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the maximum number of records to return.
|
||||
Optional.
|
||||
* @brief Gets or sets the maximum number of records to return.
|
||||
*/
|
||||
std::optional<qint32> limit() const;
|
||||
/**
|
||||
* @brief Gets or sets the maximum number of records to return.
|
||||
Optional.
|
||||
* @brief Gets or sets the maximum number of records to return.
|
||||
*/
|
||||
void setLimit(std::optional<qint32> newLimit);
|
||||
bool limitNull() const;
|
||||
void setLimitNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
|
||||
Optional.
|
||||
* @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
|
||||
*/
|
||||
QString sortBy() const;
|
||||
QList<ItemSortBy> sortBy() const;
|
||||
/**
|
||||
* @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
|
||||
Optional.
|
||||
* @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
|
||||
*/
|
||||
void setSortBy(QString newSortBy);
|
||||
void setSortBy(QList<ItemSortBy> newSortBy);
|
||||
bool sortByNull() const;
|
||||
void setSortByNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets sort Order - Ascending,Descending.
|
||||
* @brief Gets or sets sort order.
|
||||
*/
|
||||
QString sortOrder() const;
|
||||
QList<SortOrder> sortOrder() const;
|
||||
/**
|
||||
* @brief Gets or sets sort Order - Ascending,Descending.
|
||||
* @brief Gets or sets sort order.
|
||||
*/
|
||||
void setSortOrder(QString newSortOrder);
|
||||
void setSortOrder(QList<SortOrder> newSortOrder);
|
||||
bool sortOrderNull() const;
|
||||
void setSortOrderNull();
|
||||
|
||||
|
@ -306,13 +280,11 @@ Optional.
|
|||
void setGenreIdsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets include image information in output.
|
||||
Optional.
|
||||
* @brief Gets or sets include image information in output.
|
||||
*/
|
||||
std::optional<bool> enableImages() const;
|
||||
/**
|
||||
* @brief Gets or sets include image information in output.
|
||||
Optional.
|
||||
* @brief Gets or sets include image information in output.
|
||||
*/
|
||||
void setEnableImages(std::optional<bool> newEnableImages);
|
||||
bool enableImagesNull() const;
|
||||
|
@ -321,83 +293,73 @@ Optional.
|
|||
/**
|
||||
* @brief Gets or sets a value indicating whether retrieve total record count.
|
||||
*/
|
||||
bool enableTotalRecordCount() const;
|
||||
std::optional<bool> enableTotalRecordCount() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether retrieve total record count.
|
||||
*/
|
||||
void setEnableTotalRecordCount(bool newEnableTotalRecordCount);
|
||||
void setEnableTotalRecordCount(std::optional<bool> newEnableTotalRecordCount);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the max number of images to return, per image type.
|
||||
Optional.
|
||||
* @brief Gets or sets the max number of images to return, per image type.
|
||||
*/
|
||||
std::optional<qint32> imageTypeLimit() const;
|
||||
/**
|
||||
* @brief Gets or sets the max number of images to return, per image type.
|
||||
Optional.
|
||||
* @brief Gets or sets the max number of images to return, per image type.
|
||||
*/
|
||||
void setImageTypeLimit(std::optional<qint32> newImageTypeLimit);
|
||||
bool imageTypeLimitNull() const;
|
||||
void setImageTypeLimitNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the image types to include in the output.
|
||||
Optional.
|
||||
* @brief Gets or sets the image types to include in the output.
|
||||
*/
|
||||
QList<ImageType> enableImageTypes() const;
|
||||
/**
|
||||
* @brief Gets or sets the image types to include in the output.
|
||||
Optional.
|
||||
* @brief Gets or sets the image types to include in the output.
|
||||
*/
|
||||
void setEnableImageTypes(QList<ImageType> newEnableImageTypes);
|
||||
bool enableImageTypesNull() const;
|
||||
void setEnableImageTypesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets include user data.
|
||||
Optional.
|
||||
* @brief Gets or sets include user data.
|
||||
*/
|
||||
std::optional<bool> enableUserData() const;
|
||||
/**
|
||||
* @brief Gets or sets include user data.
|
||||
Optional.
|
||||
* @brief Gets or sets include user data.
|
||||
*/
|
||||
void setEnableUserData(std::optional<bool> newEnableUserData);
|
||||
bool enableUserDataNull() const;
|
||||
void setEnableUserDataNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter by series timer id.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by series timer id.
|
||||
*/
|
||||
QString seriesTimerId() const;
|
||||
/**
|
||||
* @brief Gets or sets filter by series timer id.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by series timer id.
|
||||
*/
|
||||
void setSeriesTimerId(QString newSeriesTimerId);
|
||||
bool seriesTimerIdNull() const;
|
||||
void setSeriesTimerIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets filter by library series id.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by library series id.
|
||||
*/
|
||||
QString librarySeriesId() const;
|
||||
/**
|
||||
* @brief Gets or sets filter by library series id.
|
||||
Optional.
|
||||
* @brief Gets or sets filter by library series id.
|
||||
*/
|
||||
void setLibrarySeriesId(QString newLibrarySeriesId);
|
||||
bool librarySeriesIdNull() const;
|
||||
void setLibrarySeriesIdNull();
|
||||
|
||||
/**
|
||||
* @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.
|
||||
* @brief Gets or sets specify additional fields of information to return in the output.
|
||||
*/
|
||||
QList<ItemFields> fields() const;
|
||||
/**
|
||||
* @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.
|
||||
* @brief Gets or sets specify additional fields of information to return in the output.
|
||||
*/
|
||||
void setFields(QList<ItemFields> newFields);
|
||||
bool fieldsNull() const;
|
||||
|
@ -420,12 +382,12 @@ protected:
|
|||
std::optional<bool> m_isSports = std::nullopt;
|
||||
std::optional<qint32> m_startIndex = std::nullopt;
|
||||
std::optional<qint32> m_limit = std::nullopt;
|
||||
QString m_sortBy;
|
||||
QString m_sortOrder;
|
||||
QList<ItemSortBy> m_sortBy;
|
||||
QList<SortOrder> m_sortOrder;
|
||||
QStringList m_genres;
|
||||
QStringList m_genreIds;
|
||||
std::optional<bool> m_enableImages = std::nullopt;
|
||||
bool m_enableTotalRecordCount;
|
||||
std::optional<bool> m_enableTotalRecordCount = std::nullopt;
|
||||
std::optional<qint32> m_imageTypeLimit = std::nullopt;
|
||||
QList<ImageType> m_enableImageTypes;
|
||||
std::optional<bool> m_enableUserData = std::nullopt;
|
||||
|
|
|
@ -52,8 +52,10 @@ namespace DTO {
|
|||
class GroupInfoDto {
|
||||
public:
|
||||
GroupInfoDto(
|
||||
QString groupId,
|
||||
GroupStateType state,
|
||||
QString groupId,
|
||||
QString groupName,
|
||||
GroupStateType state,
|
||||
QStringList participants,
|
||||
QDateTime lastUpdatedAt
|
||||
);
|
||||
|
||||
|
@ -86,8 +88,6 @@ public:
|
|||
* @brief Gets the group name.
|
||||
*/
|
||||
void setGroupName(QString newGroupName);
|
||||
bool groupNameNull() const;
|
||||
void setGroupNameNull();
|
||||
|
||||
|
||||
GroupStateType state() const;
|
||||
|
@ -102,8 +102,6 @@ public:
|
|||
* @brief Gets the participants.
|
||||
*/
|
||||
void setParticipants(QStringList newParticipants);
|
||||
bool participantsNull() const;
|
||||
void setParticipantsNull();
|
||||
|
||||
/**
|
||||
* @brief Gets the date when this DTO has been created.
|
||||
|
|
117
core/include/JellyfinQt/dto/groupinfodtogroupupdate.h
Normal file
117
core/include/JellyfinQt/dto/groupinfodtogroupupdate.h
Normal file
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* 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_GROUPINFODTOGROUPUPDATE_H
|
||||
#define JELLYFIN_DTO_GROUPINFODTOGROUPUPDATE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/groupinfodto.h"
|
||||
#include "JellyfinQt/dto/groupupdatetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class GroupInfoDtoGroupUpdate {
|
||||
public:
|
||||
GroupInfoDtoGroupUpdate(
|
||||
QString groupId,
|
||||
GroupUpdateType type,
|
||||
QSharedPointer<GroupInfoDto> data
|
||||
);
|
||||
|
||||
GroupInfoDtoGroupUpdate(const GroupInfoDtoGroupUpdate &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(GroupInfoDtoGroupUpdate &other);
|
||||
|
||||
static GroupInfoDtoGroupUpdate fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets the group identifier.
|
||||
*/
|
||||
QString groupId() const;
|
||||
/**
|
||||
* @brief Gets the group identifier.
|
||||
*/
|
||||
void setGroupId(QString newGroupId);
|
||||
|
||||
|
||||
GroupUpdateType type() const;
|
||||
|
||||
void setType(GroupUpdateType newType);
|
||||
|
||||
|
||||
QSharedPointer<GroupInfoDto> data() const;
|
||||
|
||||
void setData(QSharedPointer<GroupInfoDto> newData);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_groupId;
|
||||
GroupUpdateType m_type;
|
||||
QSharedPointer<GroupInfoDto> m_data = QSharedPointer<GroupInfoDto>();
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing GroupInfoDtoGroupUpdate::fromJson();
|
||||
GroupInfoDtoGroupUpdate();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using GroupInfoDtoGroupUpdate = Jellyfin::DTO::GroupInfoDtoGroupUpdate;
|
||||
|
||||
template <>
|
||||
GroupInfoDtoGroupUpdate fromJsonValue(const QJsonValue &source, convertType<GroupInfoDtoGroupUpdate>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const GroupInfoDtoGroupUpdate &source, convertType<GroupInfoDtoGroupUpdate>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_GROUPINFODTOGROUPUPDATE_H
|
104
core/include/JellyfinQt/dto/groupstateupdate.h
Normal file
104
core/include/JellyfinQt/dto/groupstateupdate.h
Normal file
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* 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_GROUPSTATEUPDATE_H
|
||||
#define JELLYFIN_DTO_GROUPSTATEUPDATE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/groupstatetype.h"
|
||||
#include "JellyfinQt/dto/playbackrequesttype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class GroupStateUpdate {
|
||||
public:
|
||||
GroupStateUpdate(
|
||||
GroupStateType state,
|
||||
PlaybackRequestType reason
|
||||
);
|
||||
|
||||
GroupStateUpdate(const GroupStateUpdate &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(GroupStateUpdate &other);
|
||||
|
||||
static GroupStateUpdate fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
GroupStateType state() const;
|
||||
|
||||
void setState(GroupStateType newState);
|
||||
|
||||
|
||||
PlaybackRequestType reason() const;
|
||||
|
||||
void setReason(PlaybackRequestType newReason);
|
||||
|
||||
|
||||
protected:
|
||||
GroupStateType m_state;
|
||||
PlaybackRequestType m_reason;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing GroupStateUpdate::fromJson();
|
||||
GroupStateUpdate();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using GroupStateUpdate = Jellyfin::DTO::GroupStateUpdate;
|
||||
|
||||
template <>
|
||||
GroupStateUpdate fromJsonValue(const QJsonValue &source, convertType<GroupStateUpdate>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const GroupStateUpdate &source, convertType<GroupStateUpdate>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_GROUPSTATEUPDATE_H
|
117
core/include/JellyfinQt/dto/groupstateupdategroupupdate.h
Normal file
117
core/include/JellyfinQt/dto/groupstateupdategroupupdate.h
Normal file
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* 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_GROUPSTATEUPDATEGROUPUPDATE_H
|
||||
#define JELLYFIN_DTO_GROUPSTATEUPDATEGROUPUPDATE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/groupstateupdate.h"
|
||||
#include "JellyfinQt/dto/groupupdatetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class GroupStateUpdateGroupUpdate {
|
||||
public:
|
||||
GroupStateUpdateGroupUpdate(
|
||||
QString groupId,
|
||||
GroupUpdateType type,
|
||||
QSharedPointer<GroupStateUpdate> data
|
||||
);
|
||||
|
||||
GroupStateUpdateGroupUpdate(const GroupStateUpdateGroupUpdate &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(GroupStateUpdateGroupUpdate &other);
|
||||
|
||||
static GroupStateUpdateGroupUpdate fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets the group identifier.
|
||||
*/
|
||||
QString groupId() const;
|
||||
/**
|
||||
* @brief Gets the group identifier.
|
||||
*/
|
||||
void setGroupId(QString newGroupId);
|
||||
|
||||
|
||||
GroupUpdateType type() const;
|
||||
|
||||
void setType(GroupUpdateType newType);
|
||||
|
||||
|
||||
QSharedPointer<GroupStateUpdate> data() const;
|
||||
|
||||
void setData(QSharedPointer<GroupStateUpdate> newData);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_groupId;
|
||||
GroupUpdateType m_type;
|
||||
QSharedPointer<GroupStateUpdate> m_data = QSharedPointer<GroupStateUpdate>();
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing GroupStateUpdateGroupUpdate::fromJson();
|
||||
GroupStateUpdateGroupUpdate();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using GroupStateUpdateGroupUpdate = Jellyfin::DTO::GroupStateUpdateGroupUpdate;
|
||||
|
||||
template <>
|
||||
GroupStateUpdateGroupUpdate fromJsonValue(const QJsonValue &source, convertType<GroupStateUpdateGroupUpdate>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const GroupStateUpdateGroupUpdate &source, convertType<GroupStateUpdateGroupUpdate>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_GROUPSTATEUPDATEGROUPUPDATE_H
|
|
@ -27,14 +27,15 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_CONTROLRESPONSE_H
|
||||
#define JELLYFIN_DTO_CONTROLRESPONSE_H
|
||||
#ifndef JELLYFIN_DTO_GROUPUPDATE_H
|
||||
#define JELLYFIN_DTO_GROUPUPDATE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/groupupdatetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -45,52 +46,47 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class ControlResponse {
|
||||
class GroupUpdate {
|
||||
public:
|
||||
ControlResponse(
|
||||
bool isSuccessful
|
||||
GroupUpdate(
|
||||
QString groupId,
|
||||
GroupUpdateType type
|
||||
);
|
||||
|
||||
ControlResponse(const ControlResponse &other);
|
||||
GroupUpdate(const GroupUpdate &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(ControlResponse &other);
|
||||
void replaceData(GroupUpdate &other);
|
||||
|
||||
static ControlResponse fromJson(QJsonObject source);
|
||||
static GroupUpdate fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
QJsonObject headers() const;
|
||||
|
||||
void setHeaders(QJsonObject newHeaders);
|
||||
bool headersNull() const;
|
||||
void setHeadersNull();
|
||||
/**
|
||||
* @brief Gets the group identifier.
|
||||
*/
|
||||
QString groupId() const;
|
||||
/**
|
||||
* @brief Gets the group identifier.
|
||||
*/
|
||||
void setGroupId(QString newGroupId);
|
||||
|
||||
|
||||
QString xml() const;
|
||||
GroupUpdateType type() const;
|
||||
|
||||
void setXml(QString newXml);
|
||||
bool xmlNull() const;
|
||||
void setXmlNull();
|
||||
|
||||
|
||||
bool isSuccessful() const;
|
||||
|
||||
void setIsSuccessful(bool newIsSuccessful);
|
||||
void setType(GroupUpdateType newType);
|
||||
|
||||
|
||||
protected:
|
||||
QJsonObject m_headers;
|
||||
QString m_xml;
|
||||
bool m_isSuccessful;
|
||||
QString m_groupId;
|
||||
GroupUpdateType m_type;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ControlResponse::fromJson();
|
||||
ControlResponse();
|
||||
// Private constructor which generates an invalid object, for use withing GroupUpdate::fromJson();
|
||||
GroupUpdate();
|
||||
};
|
||||
|
||||
|
||||
|
@ -98,15 +94,15 @@ private:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using ControlResponse = Jellyfin::DTO::ControlResponse;
|
||||
using GroupUpdate = Jellyfin::DTO::GroupUpdate;
|
||||
|
||||
template <>
|
||||
ControlResponse fromJsonValue(const QJsonValue &source, convertType<ControlResponse>);
|
||||
GroupUpdate fromJsonValue(const QJsonValue &source, convertType<GroupUpdate>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const ControlResponse &source, convertType<ControlResponse>);
|
||||
QJsonValue toJsonValue(const GroupUpdate &source, convertType<GroupUpdate>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_CONTROLRESPONSE_H
|
||||
#endif // JELLYFIN_DTO_GROUPUPDATE_H
|
82
core/include/JellyfinQt/dto/hardwareaccelerationtype.h
Normal file
82
core/include/JellyfinQt/dto/hardwareaccelerationtype.h
Normal 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_HARDWAREACCELERATIONTYPE_H
|
||||
#define JELLYFIN_DTO_HARDWAREACCELERATIONTYPE_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class HardwareAccelerationTypeClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
None,
|
||||
Amf,
|
||||
Qsv,
|
||||
Nvenc,
|
||||
V4l2m2m,
|
||||
Vaapi,
|
||||
Videotoolbox,
|
||||
Rkmpp,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit HardwareAccelerationTypeClass();
|
||||
};
|
||||
|
||||
using HardwareAccelerationType = HardwareAccelerationTypeClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using HardwareAccelerationType = Jellyfin::DTO::HardwareAccelerationType;
|
||||
|
||||
template <>
|
||||
HardwareAccelerationType fromJsonValue(const QJsonValue &source, convertType<HardwareAccelerationType>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const HardwareAccelerationType &source, convertType<HardwareAccelerationType>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_HARDWAREACCELERATIONTYPE_H
|
|
@ -53,6 +53,7 @@ public:
|
|||
Jpg,
|
||||
Png,
|
||||
Webp,
|
||||
Svg,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
|
|
|
@ -49,7 +49,12 @@ namespace DTO {
|
|||
|
||||
|
||||
class ImageProviderInfo {
|
||||
public: ImageProviderInfo();
|
||||
public:
|
||||
ImageProviderInfo(
|
||||
QString name,
|
||||
QList<ImageType> supportedImages
|
||||
);
|
||||
|
||||
ImageProviderInfo(const ImageProviderInfo &other);
|
||||
|
||||
/**
|
||||
|
@ -70,8 +75,6 @@ public: ImageProviderInfo();
|
|||
* @brief Gets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Gets the supported image types.
|
||||
|
@ -81,15 +84,15 @@ public: ImageProviderInfo();
|
|||
* @brief Gets the supported image types.
|
||||
*/
|
||||
void setSupportedImages(QList<ImageType> newSupportedImages);
|
||||
bool supportedImagesNull() const;
|
||||
void setSupportedImagesNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_name;
|
||||
QList<ImageType> m_supportedImages;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing ImageProviderInfo::fromJson();
|
||||
ImageProviderInfo();
|
||||
};
|
||||
|
||||
|
||||
|
|
83
core/include/JellyfinQt/dto/imageresolution.h
Normal file
83
core/include/JellyfinQt/dto/imageresolution.h
Normal 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_IMAGERESOLUTION_H
|
||||
#define JELLYFIN_DTO_IMAGERESOLUTION_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class ImageResolutionClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
MatchSource,
|
||||
P144,
|
||||
P240,
|
||||
P360,
|
||||
P480,
|
||||
P720,
|
||||
P1080,
|
||||
P1440,
|
||||
P2160,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit ImageResolutionClass();
|
||||
};
|
||||
|
||||
using ImageResolution = ImageResolutionClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ImageResolution = Jellyfin::DTO::ImageResolution;
|
||||
|
||||
template <>
|
||||
ImageResolution fromJsonValue(const QJsonValue &source, convertType<ImageResolution>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const ImageResolution &source, convertType<ImageResolution>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_IMAGERESOLUTION_H
|
96
core/include/JellyfinQt/dto/inboundkeepalivemessage.h
Normal file
96
core/include/JellyfinQt/dto/inboundkeepalivemessage.h
Normal 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_INBOUNDKEEPALIVEMESSAGE_H
|
||||
#define JELLYFIN_DTO_INBOUNDKEEPALIVEMESSAGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/sessionmessagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class InboundKeepAliveMessage {
|
||||
public:
|
||||
InboundKeepAliveMessage(
|
||||
SessionMessageType messageType
|
||||
);
|
||||
|
||||
InboundKeepAliveMessage(const InboundKeepAliveMessage &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(InboundKeepAliveMessage &other);
|
||||
|
||||
static InboundKeepAliveMessage fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
SessionMessageType messageType() const;
|
||||
|
||||
void setMessageType(SessionMessageType newMessageType);
|
||||
|
||||
|
||||
protected:
|
||||
SessionMessageType m_messageType;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing InboundKeepAliveMessage::fromJson();
|
||||
InboundKeepAliveMessage();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using InboundKeepAliveMessage = Jellyfin::DTO::InboundKeepAliveMessage;
|
||||
|
||||
template <>
|
||||
InboundKeepAliveMessage fromJsonValue(const QJsonValue &source, convertType<InboundKeepAliveMessage>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const InboundKeepAliveMessage &source, convertType<InboundKeepAliveMessage>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_INBOUNDKEEPALIVEMESSAGE_H
|
|
@ -27,28 +27,22 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_LOADER_HTTP_DLNASERVER_H
|
||||
#define JELLYFIN_LOADER_HTTP_DLNASERVER_H
|
||||
#ifndef JELLYFIN_DTO_INBOUNDWEBSOCKETMESSAGE_H
|
||||
#define JELLYFIN_DTO_INBOUNDWEBSOCKETMESSAGE_H
|
||||
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
#include "JellyfinQt/support/loader.h"
|
||||
#include "JellyfinQt/loader/requesttypes.h"
|
||||
#include <QJsonObject>
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace Loader {
|
||||
namespace HTTP {
|
||||
namespace DTO {
|
||||
|
||||
using namespace Jellyfin::DTO;
|
||||
using InboundWebSocketMessage = QJsonObject;
|
||||
|
||||
|
||||
} // NS HTTP
|
||||
} // NS Loader
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_LOADER_HTTP_DLNASERVER_H
|
||||
#endif // JELLYFIN_DTO_INBOUNDWEBSOCKETMESSAGE_H
|
||||
// No implementation needed
|
|
@ -36,7 +36,7 @@
|
|||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/version.h"
|
||||
#include "JellyfinQt/dto/packageinfo.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -50,8 +50,8 @@ namespace DTO {
|
|||
class InstallationInfo {
|
||||
public:
|
||||
InstallationInfo(
|
||||
QString guid,
|
||||
QSharedPointer<Version> version
|
||||
QString guid,
|
||||
QSharedPointer<PackageInfo> packageInfo
|
||||
);
|
||||
|
||||
InstallationInfo(const InstallationInfo &other);
|
||||
|
@ -86,10 +86,16 @@ public:
|
|||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
|
||||
QSharedPointer<Version> version() const;
|
||||
|
||||
void setVersion(QSharedPointer<Version> newVersion);
|
||||
/**
|
||||
* @brief Gets or sets the version.
|
||||
*/
|
||||
QString version() const;
|
||||
/**
|
||||
* @brief Gets or sets the version.
|
||||
*/
|
||||
void setVersion(QString newVersion);
|
||||
bool versionNull() const;
|
||||
void setVersionNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the changelog for this version.
|
||||
|
@ -125,13 +131,19 @@ public:
|
|||
void setChecksumNull();
|
||||
|
||||
|
||||
QSharedPointer<PackageInfo> packageInfo() const;
|
||||
|
||||
void setPackageInfo(QSharedPointer<PackageInfo> newPackageInfo);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_guid;
|
||||
QString m_name;
|
||||
QSharedPointer<Version> m_version = QSharedPointer<Version>();
|
||||
QString m_version;
|
||||
QString m_changelog;
|
||||
QString m_sourceUrl;
|
||||
QString m_checksum;
|
||||
QSharedPointer<PackageInfo> m_packageInfo = QSharedPointer<PackageInfo>();
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing InstallationInfo::fromJson();
|
||||
|
|
|
@ -32,11 +32,9 @@
|
|||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/version.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -50,8 +48,7 @@ namespace DTO {
|
|||
class IPlugin {
|
||||
public:
|
||||
IPlugin(
|
||||
QString jellyfinId,
|
||||
QSharedPointer<Version> version,
|
||||
QString jellyfinId,
|
||||
bool canUninstall
|
||||
);
|
||||
|
||||
|
@ -98,10 +95,16 @@ public:
|
|||
*/
|
||||
void setJellyfinId(QString newJellyfinId);
|
||||
|
||||
|
||||
QSharedPointer<Version> version() const;
|
||||
|
||||
void setVersion(QSharedPointer<Version> newVersion);
|
||||
/**
|
||||
* @brief Gets the plugin version.
|
||||
*/
|
||||
QString version() const;
|
||||
/**
|
||||
* @brief Gets the plugin version.
|
||||
*/
|
||||
void setVersion(QString newVersion);
|
||||
bool versionNull() const;
|
||||
void setVersionNull();
|
||||
|
||||
/**
|
||||
* @brief Gets the path to the assembly file.
|
||||
|
@ -139,7 +142,7 @@ protected:
|
|||
QString m_name;
|
||||
QString m_description;
|
||||
QString m_jellyfinId;
|
||||
QSharedPointer<Version> m_version = QSharedPointer<Version>();
|
||||
QString m_version;
|
||||
QString m_assemblyFilePath;
|
||||
bool m_canUninstall;
|
||||
QString m_dataFolderPath;
|
||||
|
|
|
@ -53,6 +53,7 @@ public:
|
|||
CanDownload,
|
||||
ChannelInfo,
|
||||
Chapters,
|
||||
Trickplay,
|
||||
ChildCount,
|
||||
CumulativeRunTimeTicks,
|
||||
CustomRating,
|
||||
|
@ -83,8 +84,6 @@ public:
|
|||
SortName,
|
||||
SpecialEpisodeNumbers,
|
||||
Studios,
|
||||
BasicSyncInfo,
|
||||
SyncInfo,
|
||||
Taglines,
|
||||
Tags,
|
||||
RemoteTrailers,
|
||||
|
|
106
core/include/JellyfinQt/dto/itemsortby.h
Normal file
106
core/include/JellyfinQt/dto/itemsortby.h
Normal file
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
* 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_ITEMSORTBY_H
|
||||
#define JELLYFIN_DTO_ITEMSORTBY_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class ItemSortByClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
Default,
|
||||
AiredEpisodeOrder,
|
||||
Album,
|
||||
AlbumArtist,
|
||||
Artist,
|
||||
DateCreated,
|
||||
OfficialRating,
|
||||
DatePlayed,
|
||||
PremiereDate,
|
||||
StartDate,
|
||||
SortName,
|
||||
Name,
|
||||
Random,
|
||||
Runtime,
|
||||
CommunityRating,
|
||||
ProductionYear,
|
||||
PlayCount,
|
||||
CriticRating,
|
||||
IsFolder,
|
||||
IsUnplayed,
|
||||
IsPlayed,
|
||||
SeriesSortName,
|
||||
VideoBitRate,
|
||||
AirTime,
|
||||
Studio,
|
||||
IsFavoriteOrLiked,
|
||||
DateLastContentAdded,
|
||||
SeriesDatePlayed,
|
||||
ParentIndexNumber,
|
||||
IndexNumber,
|
||||
SimilarityScore,
|
||||
SearchScore,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit ItemSortByClass();
|
||||
};
|
||||
|
||||
using ItemSortBy = ItemSortByClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using ItemSortBy = Jellyfin::DTO::ItemSortBy;
|
||||
|
||||
template <>
|
||||
ItemSortBy fromJsonValue(const QJsonValue &source, convertType<ItemSortBy>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const ItemSortBy &source, convertType<ItemSortBy>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_ITEMSORTBY_H
|
117
core/include/JellyfinQt/dto/librarychangedmessage.h
Normal file
117
core/include/JellyfinQt/dto/librarychangedmessage.h
Normal file
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* 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_LIBRARYCHANGEDMESSAGE_H
|
||||
#define JELLYFIN_DTO_LIBRARYCHANGEDMESSAGE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QSharedPointer>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/libraryupdateinfo.h"
|
||||
#include "JellyfinQt/dto/sessionmessagetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class LibraryChangedMessage {
|
||||
public:
|
||||
LibraryChangedMessage(
|
||||
QSharedPointer<LibraryUpdateInfo> data,
|
||||
QString messageId,
|
||||
SessionMessageType messageType
|
||||
);
|
||||
|
||||
LibraryChangedMessage(const LibraryChangedMessage &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(LibraryChangedMessage &other);
|
||||
|
||||
static LibraryChangedMessage fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
QSharedPointer<LibraryUpdateInfo> data() const;
|
||||
|
||||
void setData(QSharedPointer<LibraryUpdateInfo> newData);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
QString messageId() const;
|
||||
/**
|
||||
* @brief Gets or sets the message id.
|
||||
*/
|
||||
void setMessageId(QString newMessageId);
|
||||
|
||||
|
||||
SessionMessageType messageType() const;
|
||||
|
||||
void setMessageType(SessionMessageType newMessageType);
|
||||
|
||||
|
||||
protected:
|
||||
QSharedPointer<LibraryUpdateInfo> m_data = QSharedPointer<LibraryUpdateInfo>();
|
||||
QString m_messageId;
|
||||
SessionMessageType m_messageType;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing LibraryChangedMessage::fromJson();
|
||||
LibraryChangedMessage();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using LibraryChangedMessage = Jellyfin::DTO::LibraryChangedMessage;
|
||||
|
||||
template <>
|
||||
LibraryChangedMessage fromJsonValue(const QJsonValue &source, convertType<LibraryChangedMessage>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const LibraryChangedMessage &source, convertType<LibraryChangedMessage>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_LIBRARYCHANGEDMESSAGE_H
|
|
@ -37,6 +37,7 @@
|
|||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/embeddedsubtitleoptions.h"
|
||||
#include "JellyfinQt/dto/mediapathinfo.h"
|
||||
#include "JellyfinQt/dto/typeoptions.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
@ -52,20 +53,43 @@ namespace DTO {
|
|||
class LibraryOptions {
|
||||
public:
|
||||
LibraryOptions(
|
||||
bool enabled,
|
||||
bool enablePhotos,
|
||||
bool enableRealtimeMonitor,
|
||||
bool enableLUFSScan,
|
||||
bool enableChapterImageExtraction,
|
||||
bool extractChapterImagesDuringLibraryScan,
|
||||
bool extractChapterImagesDuringLibraryScan,
|
||||
bool enableTrickplayImageExtraction,
|
||||
bool extractTrickplayImagesDuringLibraryScan,
|
||||
QList<MediaPathInfo> pathInfos,
|
||||
bool saveLocalMetadata,
|
||||
bool enableInternetProviders,
|
||||
bool enableAutomaticSeriesGrouping,
|
||||
bool enableEmbeddedTitles,
|
||||
bool enableEmbeddedExtrasTitles,
|
||||
bool enableEmbeddedEpisodeInfos,
|
||||
qint32 automaticRefreshIntervalDays,
|
||||
qint32 automaticRefreshIntervalDays,
|
||||
QString seasonZeroDisplayName,
|
||||
QStringList disabledLocalMetadataReaders,
|
||||
QStringList disabledSubtitleFetchers,
|
||||
QStringList subtitleFetcherOrder,
|
||||
QStringList disabledMediaSegmentProviders,
|
||||
QStringList mediaSegmentProvideOrder,
|
||||
bool skipSubtitlesIfEmbeddedSubtitlesPresent,
|
||||
bool skipSubtitlesIfAudioTrackMatches,
|
||||
bool requirePerfectSubtitleMatch,
|
||||
bool saveSubtitlesWithMedia
|
||||
bool saveSubtitlesWithMedia,
|
||||
std::optional<bool> saveLyricsWithMedia,
|
||||
std::optional<bool> saveTrickplayWithMedia,
|
||||
QStringList disabledLyricFetchers,
|
||||
QStringList lyricFetcherOrder,
|
||||
std::optional<bool> preferNonstandardArtistsTag,
|
||||
std::optional<bool> useCustomTagDelimiters,
|
||||
QStringList customTagDelimiters,
|
||||
QStringList delimiterWhitelist,
|
||||
bool automaticallyAddToCollection,
|
||||
EmbeddedSubtitleOptions allowEmbeddedSubtitles,
|
||||
QList<TypeOptions> typeOptions
|
||||
);
|
||||
|
||||
LibraryOptions(const LibraryOptions &other);
|
||||
|
@ -81,6 +105,11 @@ public:
|
|||
|
||||
// Properties
|
||||
|
||||
bool enabled() const;
|
||||
|
||||
void setEnabled(bool newEnabled);
|
||||
|
||||
|
||||
bool enablePhotos() const;
|
||||
|
||||
void setEnablePhotos(bool newEnablePhotos);
|
||||
|
@ -91,6 +120,11 @@ public:
|
|||
void setEnableRealtimeMonitor(bool newEnableRealtimeMonitor);
|
||||
|
||||
|
||||
bool enableLUFSScan() const;
|
||||
|
||||
void setEnableLUFSScan(bool newEnableLUFSScan);
|
||||
|
||||
|
||||
bool enableChapterImageExtraction() const;
|
||||
|
||||
void setEnableChapterImageExtraction(bool newEnableChapterImageExtraction);
|
||||
|
@ -101,11 +135,19 @@ public:
|
|||
void setExtractChapterImagesDuringLibraryScan(bool newExtractChapterImagesDuringLibraryScan);
|
||||
|
||||
|
||||
bool enableTrickplayImageExtraction() const;
|
||||
|
||||
void setEnableTrickplayImageExtraction(bool newEnableTrickplayImageExtraction);
|
||||
|
||||
|
||||
bool extractTrickplayImagesDuringLibraryScan() const;
|
||||
|
||||
void setExtractTrickplayImagesDuringLibraryScan(bool newExtractTrickplayImagesDuringLibraryScan);
|
||||
|
||||
|
||||
QList<MediaPathInfo> pathInfos() const;
|
||||
|
||||
void setPathInfos(QList<MediaPathInfo> newPathInfos);
|
||||
bool pathInfosNull() const;
|
||||
void setPathInfosNull();
|
||||
|
||||
|
||||
bool saveLocalMetadata() const;
|
||||
|
@ -128,6 +170,11 @@ public:
|
|||
void setEnableEmbeddedTitles(bool newEnableEmbeddedTitles);
|
||||
|
||||
|
||||
bool enableEmbeddedExtrasTitles() const;
|
||||
|
||||
void setEnableEmbeddedExtrasTitles(bool newEnableEmbeddedExtrasTitles);
|
||||
|
||||
|
||||
bool enableEmbeddedEpisodeInfos() const;
|
||||
|
||||
void setEnableEmbeddedEpisodeInfos(bool newEnableEmbeddedEpisodeInfos);
|
||||
|
@ -163,8 +210,6 @@ public:
|
|||
QString seasonZeroDisplayName() const;
|
||||
|
||||
void setSeasonZeroDisplayName(QString newSeasonZeroDisplayName);
|
||||
bool seasonZeroDisplayNameNull() const;
|
||||
void setSeasonZeroDisplayNameNull();
|
||||
|
||||
|
||||
QStringList metadataSavers() const;
|
||||
|
@ -177,8 +222,6 @@ public:
|
|||
QStringList disabledLocalMetadataReaders() const;
|
||||
|
||||
void setDisabledLocalMetadataReaders(QStringList newDisabledLocalMetadataReaders);
|
||||
bool disabledLocalMetadataReadersNull() const;
|
||||
void setDisabledLocalMetadataReadersNull();
|
||||
|
||||
|
||||
QStringList localMetadataReaderOrder() const;
|
||||
|
@ -191,15 +234,21 @@ public:
|
|||
QStringList disabledSubtitleFetchers() const;
|
||||
|
||||
void setDisabledSubtitleFetchers(QStringList newDisabledSubtitleFetchers);
|
||||
bool disabledSubtitleFetchersNull() const;
|
||||
void setDisabledSubtitleFetchersNull();
|
||||
|
||||
|
||||
QStringList subtitleFetcherOrder() const;
|
||||
|
||||
void setSubtitleFetcherOrder(QStringList newSubtitleFetcherOrder);
|
||||
bool subtitleFetcherOrderNull() const;
|
||||
void setSubtitleFetcherOrderNull();
|
||||
|
||||
|
||||
QStringList disabledMediaSegmentProviders() const;
|
||||
|
||||
void setDisabledMediaSegmentProviders(QStringList newDisabledMediaSegmentProviders);
|
||||
|
||||
|
||||
QStringList mediaSegmentProvideOrder() const;
|
||||
|
||||
void setMediaSegmentProvideOrder(QStringList newMediaSegmentProvideOrder);
|
||||
|
||||
|
||||
bool skipSubtitlesIfEmbeddedSubtitlesPresent() const;
|
||||
|
@ -229,23 +278,76 @@ public:
|
|||
void setSaveSubtitlesWithMedia(bool newSaveSubtitlesWithMedia);
|
||||
|
||||
|
||||
std::optional<bool> saveLyricsWithMedia() const;
|
||||
|
||||
void setSaveLyricsWithMedia(std::optional<bool> newSaveLyricsWithMedia);
|
||||
|
||||
|
||||
std::optional<bool> saveTrickplayWithMedia() const;
|
||||
|
||||
void setSaveTrickplayWithMedia(std::optional<bool> newSaveTrickplayWithMedia);
|
||||
|
||||
|
||||
QStringList disabledLyricFetchers() const;
|
||||
|
||||
void setDisabledLyricFetchers(QStringList newDisabledLyricFetchers);
|
||||
|
||||
|
||||
QStringList lyricFetcherOrder() const;
|
||||
|
||||
void setLyricFetcherOrder(QStringList newLyricFetcherOrder);
|
||||
|
||||
|
||||
std::optional<bool> preferNonstandardArtistsTag() const;
|
||||
|
||||
void setPreferNonstandardArtistsTag(std::optional<bool> newPreferNonstandardArtistsTag);
|
||||
|
||||
|
||||
std::optional<bool> useCustomTagDelimiters() const;
|
||||
|
||||
void setUseCustomTagDelimiters(std::optional<bool> newUseCustomTagDelimiters);
|
||||
|
||||
|
||||
QStringList customTagDelimiters() const;
|
||||
|
||||
void setCustomTagDelimiters(QStringList newCustomTagDelimiters);
|
||||
|
||||
|
||||
QStringList delimiterWhitelist() const;
|
||||
|
||||
void setDelimiterWhitelist(QStringList newDelimiterWhitelist);
|
||||
|
||||
|
||||
bool automaticallyAddToCollection() const;
|
||||
|
||||
void setAutomaticallyAddToCollection(bool newAutomaticallyAddToCollection);
|
||||
|
||||
|
||||
EmbeddedSubtitleOptions allowEmbeddedSubtitles() const;
|
||||
|
||||
void setAllowEmbeddedSubtitles(EmbeddedSubtitleOptions newAllowEmbeddedSubtitles);
|
||||
|
||||
|
||||
QList<TypeOptions> typeOptions() const;
|
||||
|
||||
void setTypeOptions(QList<TypeOptions> newTypeOptions);
|
||||
bool typeOptionsNull() const;
|
||||
void setTypeOptionsNull();
|
||||
|
||||
|
||||
protected:
|
||||
bool m_enabled;
|
||||
bool m_enablePhotos;
|
||||
bool m_enableRealtimeMonitor;
|
||||
bool m_enableLUFSScan;
|
||||
bool m_enableChapterImageExtraction;
|
||||
bool m_extractChapterImagesDuringLibraryScan;
|
||||
bool m_enableTrickplayImageExtraction;
|
||||
bool m_extractTrickplayImagesDuringLibraryScan;
|
||||
QList<MediaPathInfo> m_pathInfos;
|
||||
bool m_saveLocalMetadata;
|
||||
bool m_enableInternetProviders;
|
||||
bool m_enableAutomaticSeriesGrouping;
|
||||
bool m_enableEmbeddedTitles;
|
||||
bool m_enableEmbeddedExtrasTitles;
|
||||
bool m_enableEmbeddedEpisodeInfos;
|
||||
qint32 m_automaticRefreshIntervalDays;
|
||||
QString m_preferredMetadataLanguage;
|
||||
|
@ -256,11 +358,23 @@ protected:
|
|||
QStringList m_localMetadataReaderOrder;
|
||||
QStringList m_disabledSubtitleFetchers;
|
||||
QStringList m_subtitleFetcherOrder;
|
||||
QStringList m_disabledMediaSegmentProviders;
|
||||
QStringList m_mediaSegmentProvideOrder;
|
||||
bool m_skipSubtitlesIfEmbeddedSubtitlesPresent;
|
||||
bool m_skipSubtitlesIfAudioTrackMatches;
|
||||
QStringList m_subtitleDownloadLanguages;
|
||||
bool m_requirePerfectSubtitleMatch;
|
||||
bool m_saveSubtitlesWithMedia;
|
||||
std::optional<bool> m_saveLyricsWithMedia = std::nullopt;
|
||||
std::optional<bool> m_saveTrickplayWithMedia = std::nullopt;
|
||||
QStringList m_disabledLyricFetchers;
|
||||
QStringList m_lyricFetcherOrder;
|
||||
std::optional<bool> m_preferNonstandardArtistsTag = std::nullopt;
|
||||
std::optional<bool> m_useCustomTagDelimiters = std::nullopt;
|
||||
QStringList m_customTagDelimiters;
|
||||
QStringList m_delimiterWhitelist;
|
||||
bool m_automaticallyAddToCollection;
|
||||
EmbeddedSubtitleOptions m_allowEmbeddedSubtitles;
|
||||
QList<TypeOptions> m_typeOptions;
|
||||
|
||||
private:
|
||||
|
|
|
@ -49,7 +49,15 @@ namespace DTO {
|
|||
|
||||
|
||||
class LibraryOptionsResultDto {
|
||||
public: LibraryOptionsResultDto();
|
||||
public:
|
||||
LibraryOptionsResultDto(
|
||||
QList<LibraryOptionInfoDto> metadataSavers,
|
||||
QList<LibraryOptionInfoDto> metadataReaders,
|
||||
QList<LibraryOptionInfoDto> subtitleFetchers,
|
||||
QList<LibraryOptionInfoDto> lyricFetchers,
|
||||
QList<LibraryTypeOptionsDto> typeOptions
|
||||
);
|
||||
|
||||
LibraryOptionsResultDto(const LibraryOptionsResultDto &other);
|
||||
|
||||
/**
|
||||
|
@ -70,8 +78,6 @@ public: LibraryOptionsResultDto();
|
|||
* @brief Gets or sets the metadata savers.
|
||||
*/
|
||||
void setMetadataSavers(QList<LibraryOptionInfoDto> newMetadataSavers);
|
||||
bool metadataSaversNull() const;
|
||||
void setMetadataSaversNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the metadata readers.
|
||||
|
@ -81,8 +87,6 @@ public: LibraryOptionsResultDto();
|
|||
* @brief Gets or sets the metadata readers.
|
||||
*/
|
||||
void setMetadataReaders(QList<LibraryOptionInfoDto> newMetadataReaders);
|
||||
bool metadataReadersNull() const;
|
||||
void setMetadataReadersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the subtitle fetchers.
|
||||
|
@ -92,8 +96,15 @@ public: LibraryOptionsResultDto();
|
|||
* @brief Gets or sets the subtitle fetchers.
|
||||
*/
|
||||
void setSubtitleFetchers(QList<LibraryOptionInfoDto> newSubtitleFetchers);
|
||||
bool subtitleFetchersNull() const;
|
||||
void setSubtitleFetchersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the list of lyric fetchers.
|
||||
*/
|
||||
QList<LibraryOptionInfoDto> lyricFetchers() const;
|
||||
/**
|
||||
* @brief Gets or sets the list of lyric fetchers.
|
||||
*/
|
||||
void setLyricFetchers(QList<LibraryOptionInfoDto> newLyricFetchers);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the type options.
|
||||
|
@ -103,17 +114,18 @@ public: LibraryOptionsResultDto();
|
|||
* @brief Gets or sets the type options.
|
||||
*/
|
||||
void setTypeOptions(QList<LibraryTypeOptionsDto> newTypeOptions);
|
||||
bool typeOptionsNull() const;
|
||||
void setTypeOptionsNull();
|
||||
|
||||
|
||||
protected:
|
||||
QList<LibraryOptionInfoDto> m_metadataSavers;
|
||||
QList<LibraryOptionInfoDto> m_metadataReaders;
|
||||
QList<LibraryOptionInfoDto> m_subtitleFetchers;
|
||||
QList<LibraryOptionInfoDto> m_lyricFetchers;
|
||||
QList<LibraryTypeOptionsDto> m_typeOptions;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing LibraryOptionsResultDto::fromJson();
|
||||
LibraryOptionsResultDto();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -51,7 +51,14 @@ namespace DTO {
|
|||
|
||||
|
||||
class LibraryTypeOptionsDto {
|
||||
public: LibraryTypeOptionsDto();
|
||||
public:
|
||||
LibraryTypeOptionsDto(
|
||||
QList<LibraryOptionInfoDto> metadataFetchers,
|
||||
QList<LibraryOptionInfoDto> imageFetchers,
|
||||
QList<ImageType> supportedImageTypes,
|
||||
QList<ImageOption> defaultImageOptions
|
||||
);
|
||||
|
||||
LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other);
|
||||
|
||||
/**
|
||||
|
@ -83,8 +90,6 @@ public: LibraryTypeOptionsDto();
|
|||
* @brief Gets or sets the metadata fetchers.
|
||||
*/
|
||||
void setMetadataFetchers(QList<LibraryOptionInfoDto> newMetadataFetchers);
|
||||
bool metadataFetchersNull() const;
|
||||
void setMetadataFetchersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the image fetchers.
|
||||
|
@ -94,8 +99,6 @@ public: LibraryTypeOptionsDto();
|
|||
* @brief Gets or sets the image fetchers.
|
||||
*/
|
||||
void setImageFetchers(QList<LibraryOptionInfoDto> newImageFetchers);
|
||||
bool imageFetchersNull() const;
|
||||
void setImageFetchersNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the supported image types.
|
||||
|
@ -105,8 +108,6 @@ public: LibraryTypeOptionsDto();
|
|||
* @brief Gets or sets the supported image types.
|
||||
*/
|
||||
void setSupportedImageTypes(QList<ImageType> newSupportedImageTypes);
|
||||
bool supportedImageTypesNull() const;
|
||||
void setSupportedImageTypesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the default image options.
|
||||
|
@ -116,8 +117,6 @@ public: LibraryTypeOptionsDto();
|
|||
* @brief Gets or sets the default image options.
|
||||
*/
|
||||
void setDefaultImageOptions(QList<ImageOption> newDefaultImageOptions);
|
||||
bool defaultImageOptionsNull() const;
|
||||
void setDefaultImageOptionsNull();
|
||||
|
||||
|
||||
protected:
|
||||
|
@ -127,7 +126,9 @@ protected:
|
|||
QList<ImageType> m_supportedImageTypes;
|
||||
QList<ImageOption> m_defaultImageOptions;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing LibraryTypeOptionsDto::fromJson();
|
||||
LibraryTypeOptionsDto();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -49,7 +49,13 @@ namespace DTO {
|
|||
|
||||
class LibraryUpdateInfo {
|
||||
public:
|
||||
LibraryUpdateInfo(
|
||||
LibraryUpdateInfo(
|
||||
QStringList foldersAddedTo,
|
||||
QStringList foldersRemovedFrom,
|
||||
QStringList itemsAdded,
|
||||
QStringList itemsRemoved,
|
||||
QStringList itemsUpdated,
|
||||
QStringList collectionFolders,
|
||||
bool isEmpty
|
||||
);
|
||||
|
||||
|
@ -73,8 +79,6 @@ public:
|
|||
* @brief Gets or sets the folders added to.
|
||||
*/
|
||||
void setFoldersAddedTo(QStringList newFoldersAddedTo);
|
||||
bool foldersAddedToNull() const;
|
||||
void setFoldersAddedToNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the folders removed from.
|
||||
|
@ -84,8 +88,6 @@ public:
|
|||
* @brief Gets or sets the folders removed from.
|
||||
*/
|
||||
void setFoldersRemovedFrom(QStringList newFoldersRemovedFrom);
|
||||
bool foldersRemovedFromNull() const;
|
||||
void setFoldersRemovedFromNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the items added.
|
||||
|
@ -95,8 +97,6 @@ public:
|
|||
* @brief Gets or sets the items added.
|
||||
*/
|
||||
void setItemsAdded(QStringList newItemsAdded);
|
||||
bool itemsAddedNull() const;
|
||||
void setItemsAddedNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the items removed.
|
||||
|
@ -106,8 +106,6 @@ public:
|
|||
* @brief Gets or sets the items removed.
|
||||
*/
|
||||
void setItemsRemoved(QStringList newItemsRemoved);
|
||||
bool itemsRemovedNull() const;
|
||||
void setItemsRemovedNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the items updated.
|
||||
|
@ -117,15 +115,11 @@ public:
|
|||
* @brief Gets or sets the items updated.
|
||||
*/
|
||||
void setItemsUpdated(QStringList newItemsUpdated);
|
||||
bool itemsUpdatedNull() const;
|
||||
void setItemsUpdatedNull();
|
||||
|
||||
|
||||
QStringList collectionFolders() const;
|
||||
|
||||
void setCollectionFolders(QStringList newCollectionFolders);
|
||||
bool collectionFoldersNull() const;
|
||||
void setCollectionFoldersNull();
|
||||
|
||||
|
||||
bool isEmpty() const;
|
||||
|
|
|
@ -49,8 +49,10 @@ namespace DTO {
|
|||
|
||||
class LiveTvInfo {
|
||||
public:
|
||||
LiveTvInfo(
|
||||
bool isEnabled
|
||||
LiveTvInfo(
|
||||
QList<LiveTvServiceInfo> services,
|
||||
bool isEnabled,
|
||||
QStringList enabledUsers
|
||||
);
|
||||
|
||||
LiveTvInfo(const LiveTvInfo &other);
|
||||
|
@ -73,8 +75,6 @@ public:
|
|||
* @brief Gets or sets the services.
|
||||
*/
|
||||
void setServices(QList<LiveTvServiceInfo> newServices);
|
||||
bool servicesNull() const;
|
||||
void setServicesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether this instance is enabled.
|
||||
|
@ -93,8 +93,6 @@ public:
|
|||
* @brief Gets or sets the enabled users.
|
||||
*/
|
||||
void setEnabledUsers(QStringList newEnabledUsers);
|
||||
bool enabledUsersNull() const;
|
||||
void setEnabledUsersNull();
|
||||
|
||||
|
||||
protected:
|
||||
|
|
207
core/include/JellyfinQt/dto/livetvoptions.h
Normal file
207
core/include/JellyfinQt/dto/livetvoptions.h
Normal file
|
@ -0,0 +1,207 @@
|
|||
/*
|
||||
* 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_LIVETVOPTIONS_H
|
||||
#define JELLYFIN_DTO_LIVETVOPTIONS_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/listingsproviderinfo.h"
|
||||
#include "JellyfinQt/dto/tunerhostinfo.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class LiveTvOptions {
|
||||
public:
|
||||
LiveTvOptions(
|
||||
bool enableRecordingSubfolders,
|
||||
bool enableOriginalAudioWithEncodedRecordings,
|
||||
qint32 prePaddingSeconds,
|
||||
qint32 postPaddingSeconds,
|
||||
bool saveRecordingNFO,
|
||||
bool saveRecordingImages
|
||||
);
|
||||
|
||||
LiveTvOptions(const LiveTvOptions &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(LiveTvOptions &other);
|
||||
|
||||
static LiveTvOptions fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
std::optional<qint32> guideDays() const;
|
||||
|
||||
void setGuideDays(std::optional<qint32> newGuideDays);
|
||||
bool guideDaysNull() const;
|
||||
void setGuideDaysNull();
|
||||
|
||||
|
||||
QString recordingPath() const;
|
||||
|
||||
void setRecordingPath(QString newRecordingPath);
|
||||
bool recordingPathNull() const;
|
||||
void setRecordingPathNull();
|
||||
|
||||
|
||||
QString movieRecordingPath() const;
|
||||
|
||||
void setMovieRecordingPath(QString newMovieRecordingPath);
|
||||
bool movieRecordingPathNull() const;
|
||||
void setMovieRecordingPathNull();
|
||||
|
||||
|
||||
QString seriesRecordingPath() const;
|
||||
|
||||
void setSeriesRecordingPath(QString newSeriesRecordingPath);
|
||||
bool seriesRecordingPathNull() const;
|
||||
void setSeriesRecordingPathNull();
|
||||
|
||||
|
||||
bool enableRecordingSubfolders() const;
|
||||
|
||||
void setEnableRecordingSubfolders(bool newEnableRecordingSubfolders);
|
||||
|
||||
|
||||
bool enableOriginalAudioWithEncodedRecordings() const;
|
||||
|
||||
void setEnableOriginalAudioWithEncodedRecordings(bool newEnableOriginalAudioWithEncodedRecordings);
|
||||
|
||||
|
||||
QList<TunerHostInfo> tunerHosts() const;
|
||||
|
||||
void setTunerHosts(QList<TunerHostInfo> newTunerHosts);
|
||||
bool tunerHostsNull() const;
|
||||
void setTunerHostsNull();
|
||||
|
||||
|
||||
QList<ListingsProviderInfo> listingProviders() const;
|
||||
|
||||
void setListingProviders(QList<ListingsProviderInfo> newListingProviders);
|
||||
bool listingProvidersNull() const;
|
||||
void setListingProvidersNull();
|
||||
|
||||
|
||||
qint32 prePaddingSeconds() const;
|
||||
|
||||
void setPrePaddingSeconds(qint32 newPrePaddingSeconds);
|
||||
|
||||
|
||||
qint32 postPaddingSeconds() const;
|
||||
|
||||
void setPostPaddingSeconds(qint32 newPostPaddingSeconds);
|
||||
|
||||
|
||||
QStringList mediaLocationsCreated() const;
|
||||
|
||||
void setMediaLocationsCreated(QStringList newMediaLocationsCreated);
|
||||
bool mediaLocationsCreatedNull() const;
|
||||
void setMediaLocationsCreatedNull();
|
||||
|
||||
|
||||
QString recordingPostProcessor() const;
|
||||
|
||||
void setRecordingPostProcessor(QString newRecordingPostProcessor);
|
||||
bool recordingPostProcessorNull() const;
|
||||
void setRecordingPostProcessorNull();
|
||||
|
||||
|
||||
QString recordingPostProcessorArguments() const;
|
||||
|
||||
void setRecordingPostProcessorArguments(QString newRecordingPostProcessorArguments);
|
||||
bool recordingPostProcessorArgumentsNull() const;
|
||||
void setRecordingPostProcessorArgumentsNull();
|
||||
|
||||
|
||||
bool saveRecordingNFO() const;
|
||||
|
||||
void setSaveRecordingNFO(bool newSaveRecordingNFO);
|
||||
|
||||
|
||||
bool saveRecordingImages() const;
|
||||
|
||||
void setSaveRecordingImages(bool newSaveRecordingImages);
|
||||
|
||||
|
||||
protected:
|
||||
std::optional<qint32> m_guideDays = std::nullopt;
|
||||
QString m_recordingPath;
|
||||
QString m_movieRecordingPath;
|
||||
QString m_seriesRecordingPath;
|
||||
bool m_enableRecordingSubfolders;
|
||||
bool m_enableOriginalAudioWithEncodedRecordings;
|
||||
QList<TunerHostInfo> m_tunerHosts;
|
||||
QList<ListingsProviderInfo> m_listingProviders;
|
||||
qint32 m_prePaddingSeconds;
|
||||
qint32 m_postPaddingSeconds;
|
||||
QStringList m_mediaLocationsCreated;
|
||||
QString m_recordingPostProcessor;
|
||||
QString m_recordingPostProcessorArguments;
|
||||
bool m_saveRecordingNFO;
|
||||
bool m_saveRecordingImages;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing LiveTvOptions::fromJson();
|
||||
LiveTvOptions();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using LiveTvOptions = Jellyfin::DTO::LiveTvOptions;
|
||||
|
||||
template <>
|
||||
LiveTvOptions fromJsonValue(const QJsonValue &source, convertType<LiveTvOptions>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const LiveTvOptions &source, convertType<LiveTvOptions>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_LIVETVOPTIONS_H
|
|
@ -51,7 +51,8 @@ public:
|
|||
LogFile(
|
||||
QDateTime dateCreated,
|
||||
QDateTime dateModified,
|
||||
qint64 size
|
||||
qint64 size,
|
||||
QString name
|
||||
);
|
||||
|
||||
LogFile(const LogFile &other);
|
||||
|
@ -101,8 +102,6 @@ public:
|
|||
* @brief Gets or sets the name.
|
||||
*/
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
|
||||
protected:
|
||||
|
|
111
core/include/JellyfinQt/dto/lyricdto.h
Normal file
111
core/include/JellyfinQt/dto/lyricdto.h
Normal file
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* 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_LYRICDTO_H
|
||||
#define JELLYFIN_DTO_LYRICDTO_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/lyricline.h"
|
||||
#include "JellyfinQt/dto/lyricmetadata.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class LyricDto {
|
||||
public:
|
||||
LyricDto(
|
||||
QSharedPointer<LyricMetadata> metadata,
|
||||
QList<LyricLine> lyrics
|
||||
);
|
||||
|
||||
LyricDto(const LyricDto &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(LyricDto &other);
|
||||
|
||||
static LyricDto fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
|
||||
QSharedPointer<LyricMetadata> metadata() const;
|
||||
|
||||
void setMetadata(QSharedPointer<LyricMetadata> newMetadata);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a collection of individual lyric lines.
|
||||
*/
|
||||
QList<LyricLine> lyrics() const;
|
||||
/**
|
||||
* @brief Gets or sets a collection of individual lyric lines.
|
||||
*/
|
||||
void setLyrics(QList<LyricLine> newLyrics);
|
||||
|
||||
|
||||
protected:
|
||||
QSharedPointer<LyricMetadata> m_metadata = QSharedPointer<LyricMetadata>();
|
||||
QList<LyricLine> m_lyrics;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing LyricDto::fromJson();
|
||||
LyricDto();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using LyricDto = Jellyfin::DTO::LyricDto;
|
||||
|
||||
template <>
|
||||
LyricDto fromJsonValue(const QJsonValue &source, convertType<LyricDto>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const LyricDto &source, convertType<LyricDto>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_LYRICDTO_H
|
|
@ -27,15 +27,14 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_HTTPHEADERINFO_H
|
||||
#define JELLYFIN_DTO_HTTPHEADERINFO_H
|
||||
#ifndef JELLYFIN_DTO_LYRICLINE_H
|
||||
#define JELLYFIN_DTO_LYRICLINE_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/headermatchtype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -46,52 +45,52 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class HttpHeaderInfo {
|
||||
class LyricLine {
|
||||
public:
|
||||
HttpHeaderInfo(
|
||||
HeaderMatchType match
|
||||
LyricLine(
|
||||
QString text
|
||||
);
|
||||
|
||||
HttpHeaderInfo(const HttpHeaderInfo &other);
|
||||
LyricLine(const LyricLine &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(HttpHeaderInfo &other);
|
||||
void replaceData(LyricLine &other);
|
||||
|
||||
static HttpHeaderInfo fromJson(QJsonObject source);
|
||||
static LyricLine fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets the text of this lyric line.
|
||||
*/
|
||||
QString text() const;
|
||||
/**
|
||||
* @brief Gets the text of this lyric line.
|
||||
*/
|
||||
void setText(QString newText);
|
||||
|
||||
QString name() const;
|
||||
|
||||
void setName(QString newName);
|
||||
bool nameNull() const;
|
||||
void setNameNull();
|
||||
|
||||
|
||||
QString value() const;
|
||||
|
||||
void setValue(QString newValue);
|
||||
bool valueNull() const;
|
||||
void setValueNull();
|
||||
|
||||
|
||||
HeaderMatchType match() const;
|
||||
|
||||
void setMatch(HeaderMatchType newMatch);
|
||||
/**
|
||||
* @brief Gets the start time in ticks.
|
||||
*/
|
||||
std::optional<qint64> start() const;
|
||||
/**
|
||||
* @brief Gets the start time in ticks.
|
||||
*/
|
||||
void setStart(std::optional<qint64> newStart);
|
||||
bool startNull() const;
|
||||
void setStartNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_name;
|
||||
QString m_value;
|
||||
HeaderMatchType m_match;
|
||||
QString m_text;
|
||||
std::optional<qint64> m_start = std::nullopt;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing HttpHeaderInfo::fromJson();
|
||||
HttpHeaderInfo();
|
||||
// Private constructor which generates an invalid object, for use withing LyricLine::fromJson();
|
||||
LyricLine();
|
||||
};
|
||||
|
||||
|
||||
|
@ -99,15 +98,15 @@ private:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using HttpHeaderInfo = Jellyfin::DTO::HttpHeaderInfo;
|
||||
using LyricLine = Jellyfin::DTO::LyricLine;
|
||||
|
||||
template <>
|
||||
HttpHeaderInfo fromJsonValue(const QJsonValue &source, convertType<HttpHeaderInfo>);
|
||||
LyricLine fromJsonValue(const QJsonValue &source, convertType<LyricLine>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const HttpHeaderInfo &source, convertType<HttpHeaderInfo>);
|
||||
QJsonValue toJsonValue(const LyricLine &source, convertType<LyricLine>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_HTTPHEADERINFO_H
|
||||
#endif // JELLYFIN_DTO_LYRICLINE_H
|
204
core/include/JellyfinQt/dto/lyricmetadata.h
Normal file
204
core/include/JellyfinQt/dto/lyricmetadata.h
Normal file
|
@ -0,0 +1,204 @@
|
|||
/*
|
||||
* 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_LYRICMETADATA_H
|
||||
#define JELLYFIN_DTO_LYRICMETADATA_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class LyricMetadata {
|
||||
public: LyricMetadata();
|
||||
LyricMetadata(const LyricMetadata &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(LyricMetadata &other);
|
||||
|
||||
static LyricMetadata fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the song artist.
|
||||
*/
|
||||
QString artist() const;
|
||||
/**
|
||||
* @brief Gets or sets the song artist.
|
||||
*/
|
||||
void setArtist(QString newArtist);
|
||||
bool artistNull() const;
|
||||
void setArtistNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the album this song is on.
|
||||
*/
|
||||
QString album() const;
|
||||
/**
|
||||
* @brief Gets or sets the album this song is on.
|
||||
*/
|
||||
void setAlbum(QString newAlbum);
|
||||
bool albumNull() const;
|
||||
void setAlbumNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the title of the song.
|
||||
*/
|
||||
QString title() const;
|
||||
/**
|
||||
* @brief Gets or sets the title of the song.
|
||||
*/
|
||||
void setTitle(QString newTitle);
|
||||
bool titleNull() const;
|
||||
void setTitleNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the author of the lyric data.
|
||||
*/
|
||||
QString author() const;
|
||||
/**
|
||||
* @brief Gets or sets the author of the lyric data.
|
||||
*/
|
||||
void setAuthor(QString newAuthor);
|
||||
bool authorNull() const;
|
||||
void setAuthorNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the length of the song in ticks.
|
||||
*/
|
||||
std::optional<qint64> length() const;
|
||||
/**
|
||||
* @brief Gets or sets the length of the song in ticks.
|
||||
*/
|
||||
void setLength(std::optional<qint64> newLength);
|
||||
bool lengthNull() const;
|
||||
void setLengthNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets who the LRC file was created by.
|
||||
*/
|
||||
QString by() const;
|
||||
/**
|
||||
* @brief Gets or sets who the LRC file was created by.
|
||||
*/
|
||||
void setBy(QString newBy);
|
||||
bool byNull() const;
|
||||
void setByNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the lyric offset compared to audio in ticks.
|
||||
*/
|
||||
std::optional<qint64> offset() const;
|
||||
/**
|
||||
* @brief Gets or sets the lyric offset compared to audio in ticks.
|
||||
*/
|
||||
void setOffset(std::optional<qint64> newOffset);
|
||||
bool offsetNull() const;
|
||||
void setOffsetNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the software used to create the LRC file.
|
||||
*/
|
||||
QString creator() const;
|
||||
/**
|
||||
* @brief Gets or sets the software used to create the LRC file.
|
||||
*/
|
||||
void setCreator(QString newCreator);
|
||||
bool creatorNull() const;
|
||||
void setCreatorNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the version of the creator used.
|
||||
*/
|
||||
QString version() const;
|
||||
/**
|
||||
* @brief Gets or sets the version of the creator used.
|
||||
*/
|
||||
void setVersion(QString newVersion);
|
||||
bool versionNull() const;
|
||||
void setVersionNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether this lyric is synced.
|
||||
*/
|
||||
std::optional<bool> isSynced() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether this lyric is synced.
|
||||
*/
|
||||
void setIsSynced(std::optional<bool> newIsSynced);
|
||||
bool isSyncedNull() const;
|
||||
void setIsSyncedNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_artist;
|
||||
QString m_album;
|
||||
QString m_title;
|
||||
QString m_author;
|
||||
std::optional<qint64> m_length = std::nullopt;
|
||||
QString m_by;
|
||||
std::optional<qint64> m_offset = std::nullopt;
|
||||
QString m_creator;
|
||||
QString m_version;
|
||||
std::optional<bool> m_isSynced = std::nullopt;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using LyricMetadata = Jellyfin::DTO::LyricMetadata;
|
||||
|
||||
template <>
|
||||
LyricMetadata fromJsonValue(const QJsonValue &source, convertType<LyricMetadata>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const LyricMetadata &source, convertType<LyricMetadata>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_LYRICMETADATA_H
|
|
@ -46,7 +46,11 @@ namespace DTO {
|
|||
|
||||
|
||||
class MediaPathInfo {
|
||||
public: MediaPathInfo();
|
||||
public:
|
||||
MediaPathInfo(
|
||||
QString path
|
||||
);
|
||||
|
||||
MediaPathInfo(const MediaPathInfo &other);
|
||||
|
||||
/**
|
||||
|
@ -63,22 +67,14 @@ public: MediaPathInfo();
|
|||
QString path() const;
|
||||
|
||||
void setPath(QString newPath);
|
||||
bool pathNull() const;
|
||||
void setPathNull();
|
||||
|
||||
|
||||
QString networkPath() const;
|
||||
|
||||
void setNetworkPath(QString newNetworkPath);
|
||||
bool networkPathNull() const;
|
||||
void setNetworkPathNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_path;
|
||||
QString m_networkPath;
|
||||
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing MediaPathInfo::fromJson();
|
||||
MediaPathInfo();
|
||||
};
|
||||
|
||||
|
||||
|
|
141
core/include/JellyfinQt/dto/mediasegmentdto.h
Normal file
141
core/include/JellyfinQt/dto/mediasegmentdto.h
Normal 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_MEDIASEGMENTDTO_H
|
||||
#define JELLYFIN_DTO_MEDIASEGMENTDTO_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/mediasegmenttype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class MediaSegmentDto {
|
||||
public:
|
||||
MediaSegmentDto(
|
||||
QString jellyfinId,
|
||||
QString itemId,
|
||||
MediaSegmentType type,
|
||||
qint64 startTicks,
|
||||
qint64 endTicks
|
||||
);
|
||||
|
||||
MediaSegmentDto(const MediaSegmentDto &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(MediaSegmentDto &other);
|
||||
|
||||
static MediaSegmentDto fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the id of the media segment.
|
||||
*/
|
||||
QString jellyfinId() const;
|
||||
/**
|
||||
* @brief Gets or sets the id of the media segment.
|
||||
*/
|
||||
void setJellyfinId(QString newJellyfinId);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the id of the associated item.
|
||||
*/
|
||||
QString itemId() const;
|
||||
/**
|
||||
* @brief Gets or sets the id of the associated item.
|
||||
*/
|
||||
void setItemId(QString newItemId);
|
||||
|
||||
|
||||
MediaSegmentType type() const;
|
||||
|
||||
void setType(MediaSegmentType newType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the start of the segment.
|
||||
*/
|
||||
qint64 startTicks() const;
|
||||
/**
|
||||
* @brief Gets or sets the start of the segment.
|
||||
*/
|
||||
void setStartTicks(qint64 newStartTicks);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the end of the segment.
|
||||
*/
|
||||
qint64 endTicks() const;
|
||||
/**
|
||||
* @brief Gets or sets the end of the segment.
|
||||
*/
|
||||
void setEndTicks(qint64 newEndTicks);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_jellyfinId;
|
||||
QString m_itemId;
|
||||
MediaSegmentType m_type;
|
||||
qint64 m_startTicks;
|
||||
qint64 m_endTicks;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing MediaSegmentDto::fromJson();
|
||||
MediaSegmentDto();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using MediaSegmentDto = Jellyfin::DTO::MediaSegmentDto;
|
||||
|
||||
template <>
|
||||
MediaSegmentDto fromJsonValue(const QJsonValue &source, convertType<MediaSegmentDto>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const MediaSegmentDto &source, convertType<MediaSegmentDto>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_MEDIASEGMENTDTO_H
|
124
core/include/JellyfinQt/dto/mediasegmentdtoqueryresult.h
Normal file
124
core/include/JellyfinQt/dto/mediasegmentdtoqueryresult.h
Normal file
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* 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_MEDIASEGMENTDTOQUERYRESULT_H
|
||||
#define JELLYFIN_DTO_MEDIASEGMENTDTOQUERYRESULT_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/mediasegmentdto.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
|
||||
class MediaSegmentDtoQueryResult {
|
||||
public:
|
||||
MediaSegmentDtoQueryResult(
|
||||
QList<MediaSegmentDto> items,
|
||||
qint32 totalRecordCount,
|
||||
qint32 startIndex
|
||||
);
|
||||
|
||||
MediaSegmentDtoQueryResult(const MediaSegmentDtoQueryResult &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(MediaSegmentDtoQueryResult &other);
|
||||
|
||||
static MediaSegmentDtoQueryResult fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
QList<MediaSegmentDto> items() const;
|
||||
/**
|
||||
* @brief Gets or sets the items.
|
||||
*/
|
||||
void setItems(QList<MediaSegmentDto> newItems);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
qint32 totalRecordCount() const;
|
||||
/**
|
||||
* @brief Gets or sets the total number of records available.
|
||||
*/
|
||||
void setTotalRecordCount(qint32 newTotalRecordCount);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
qint32 startIndex() const;
|
||||
/**
|
||||
* @brief Gets or sets the index of the first record in Items.
|
||||
*/
|
||||
void setStartIndex(qint32 newStartIndex);
|
||||
|
||||
|
||||
protected:
|
||||
QList<MediaSegmentDto> m_items;
|
||||
qint32 m_totalRecordCount;
|
||||
qint32 m_startIndex;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing MediaSegmentDtoQueryResult::fromJson();
|
||||
MediaSegmentDtoQueryResult();
|
||||
};
|
||||
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using MediaSegmentDtoQueryResult = Jellyfin::DTO::MediaSegmentDtoQueryResult;
|
||||
|
||||
template <>
|
||||
MediaSegmentDtoQueryResult fromJsonValue(const QJsonValue &source, convertType<MediaSegmentDtoQueryResult>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const MediaSegmentDtoQueryResult &source, convertType<MediaSegmentDtoQueryResult>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_MEDIASEGMENTDTOQUERYRESULT_H
|
80
core/include/JellyfinQt/dto/mediasegmenttype.h
Normal file
80
core/include/JellyfinQt/dto/mediasegmenttype.h
Normal 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_MEDIASEGMENTTYPE_H
|
||||
#define JELLYFIN_DTO_MEDIASEGMENTTYPE_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class MediaSegmentTypeClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
Unknown,
|
||||
Commercial,
|
||||
Preview,
|
||||
Recap,
|
||||
Outro,
|
||||
Intro,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit MediaSegmentTypeClass();
|
||||
};
|
||||
|
||||
using MediaSegmentType = MediaSegmentTypeClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using MediaSegmentType = Jellyfin::DTO::MediaSegmentType;
|
||||
|
||||
template <>
|
||||
MediaSegmentType fromJsonValue(const QJsonValue &source, convertType<MediaSegmentType>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const MediaSegmentType &source, convertType<MediaSegmentType>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_MEDIASEGMENTTYPE_H
|
|
@ -42,6 +42,7 @@
|
|||
#include "JellyfinQt/dto/mediaprotocol.h"
|
||||
#include "JellyfinQt/dto/mediasourcetype.h"
|
||||
#include "JellyfinQt/dto/mediastream.h"
|
||||
#include "JellyfinQt/dto/mediastreamprotocol.h"
|
||||
#include "JellyfinQt/dto/transportstreamtimestamp.h"
|
||||
#include "JellyfinQt/dto/video3dformat.h"
|
||||
#include "JellyfinQt/dto/videotype.h"
|
||||
|
@ -70,14 +71,17 @@ public:
|
|||
bool supportsDirectStream,
|
||||
bool supportsDirectPlay,
|
||||
bool isInfiniteStream,
|
||||
std::optional<bool> useMostCompatibleTranscodingProfile,
|
||||
bool requiresOpening,
|
||||
bool requiresClosing,
|
||||
bool requiresLooping,
|
||||
bool supportsProbing,
|
||||
VideoType videoType,
|
||||
IsoType isoType,
|
||||
Video3DFormat video3DFormat,
|
||||
TransportStreamTimestamp timestamp
|
||||
Video3DFormat video3DFormat,
|
||||
TransportStreamTimestamp timestamp,
|
||||
MediaStreamProtocol transcodingSubProtocol,
|
||||
bool hasSegments
|
||||
);
|
||||
|
||||
MediaSourceInfo(const MediaSourceInfo &other);
|
||||
|
@ -150,11 +154,13 @@ public:
|
|||
void setNameNull();
|
||||
|
||||
/**
|
||||
* @brief Differentiate internet url vs local network.
|
||||
* @brief Gets or sets a value indicating whether the media is remote.
|
||||
Differentiate internet url vs local network.
|
||||
*/
|
||||
bool isRemote() const;
|
||||
/**
|
||||
* @brief Differentiate internet url vs local network.
|
||||
* @brief Gets or sets a value indicating whether the media is remote.
|
||||
Differentiate internet url vs local network.
|
||||
*/
|
||||
void setIsRemote(bool newIsRemote);
|
||||
|
||||
|
@ -213,6 +219,11 @@ public:
|
|||
void setIsInfiniteStream(bool newIsInfiniteStream);
|
||||
|
||||
|
||||
std::optional<bool> useMostCompatibleTranscodingProfile() const;
|
||||
|
||||
void setUseMostCompatibleTranscodingProfile(std::optional<bool> newUseMostCompatibleTranscodingProfile);
|
||||
|
||||
|
||||
bool requiresOpening() const;
|
||||
|
||||
void setRequiresOpening(bool newRequiresOpening);
|
||||
|
@ -297,6 +308,13 @@ public:
|
|||
void setBitrateNull();
|
||||
|
||||
|
||||
std::optional<qint32> fallbackMaxStreamingBitrate() const;
|
||||
|
||||
void setFallbackMaxStreamingBitrate(std::optional<qint32> newFallbackMaxStreamingBitrate);
|
||||
bool fallbackMaxStreamingBitrateNull() const;
|
||||
void setFallbackMaxStreamingBitrateNull();
|
||||
|
||||
|
||||
TransportStreamTimestamp timestamp() const;
|
||||
|
||||
void setTimestamp(TransportStreamTimestamp newTimestamp);
|
||||
|
@ -316,11 +334,9 @@ public:
|
|||
void setTranscodingUrlNull();
|
||||
|
||||
|
||||
QString transcodingSubProtocol() const;
|
||||
MediaStreamProtocol transcodingSubProtocol() const;
|
||||
|
||||
void setTranscodingSubProtocol(QString newTranscodingSubProtocol);
|
||||
bool transcodingSubProtocolNull() const;
|
||||
void setTranscodingSubProtocolNull();
|
||||
void setTranscodingSubProtocol(MediaStreamProtocol newTranscodingSubProtocol);
|
||||
|
||||
|
||||
QString transcodingContainer() const;
|
||||
|
@ -351,6 +367,11 @@ public:
|
|||
void setDefaultSubtitleStreamIndexNull();
|
||||
|
||||
|
||||
bool hasSegments() const;
|
||||
|
||||
void setHasSegments(bool newHasSegments);
|
||||
|
||||
|
||||
protected:
|
||||
MediaProtocol m_protocol;
|
||||
QString m_jellyfinId;
|
||||
|
@ -372,6 +393,7 @@ protected:
|
|||
bool m_supportsDirectStream;
|
||||
bool m_supportsDirectPlay;
|
||||
bool m_isInfiniteStream;
|
||||
std::optional<bool> m_useMostCompatibleTranscodingProfile = std::nullopt;
|
||||
bool m_requiresOpening;
|
||||
QString m_openToken;
|
||||
bool m_requiresClosing;
|
||||
|
@ -386,14 +408,16 @@ protected:
|
|||
QList<MediaAttachment> m_mediaAttachments;
|
||||
QStringList m_formats;
|
||||
std::optional<qint32> m_bitrate = std::nullopt;
|
||||
std::optional<qint32> m_fallbackMaxStreamingBitrate = std::nullopt;
|
||||
TransportStreamTimestamp m_timestamp;
|
||||
QJsonObject m_requiredHttpHeaders;
|
||||
QString m_transcodingUrl;
|
||||
QString m_transcodingSubProtocol;
|
||||
MediaStreamProtocol m_transcodingSubProtocol;
|
||||
QString m_transcodingContainer;
|
||||
std::optional<qint32> m_analyzeDurationMs = std::nullopt;
|
||||
std::optional<qint32> m_defaultAudioStreamIndex = std::nullopt;
|
||||
std::optional<qint32> m_defaultSubtitleStreamIndex = std::nullopt;
|
||||
bool m_hasSegments;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing MediaSourceInfo::fromJson();
|
||||
|
|
|
@ -35,8 +35,11 @@
|
|||
#include <QString>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/audiospatialformat.h"
|
||||
#include "JellyfinQt/dto/mediastreamtype.h"
|
||||
#include "JellyfinQt/dto/subtitledeliverymethod.h"
|
||||
#include "JellyfinQt/dto/videorange.h"
|
||||
#include "JellyfinQt/dto/videorangetype.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -49,10 +52,14 @@ namespace DTO {
|
|||
|
||||
class MediaStream {
|
||||
public:
|
||||
MediaStream(
|
||||
MediaStream(
|
||||
VideoRange videoRange,
|
||||
VideoRangeType videoRangeType,
|
||||
AudioSpatialFormat audioSpatialFormat,
|
||||
bool isInterlaced,
|
||||
bool isDefault,
|
||||
bool isForced,
|
||||
bool isForced,
|
||||
bool isHearingImpaired,
|
||||
MediaStreamType type,
|
||||
qint32 index,
|
||||
bool isExternal,
|
||||
|
@ -150,6 +157,105 @@ public:
|
|||
bool colorPrimariesNull() const;
|
||||
void setColorPrimariesNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision version major.
|
||||
*/
|
||||
std::optional<qint32> dvVersionMajor() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision version major.
|
||||
*/
|
||||
void setDvVersionMajor(std::optional<qint32> newDvVersionMajor);
|
||||
bool dvVersionMajorNull() const;
|
||||
void setDvVersionMajorNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision version minor.
|
||||
*/
|
||||
std::optional<qint32> dvVersionMinor() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision version minor.
|
||||
*/
|
||||
void setDvVersionMinor(std::optional<qint32> newDvVersionMinor);
|
||||
bool dvVersionMinorNull() const;
|
||||
void setDvVersionMinorNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision profile.
|
||||
*/
|
||||
std::optional<qint32> dvProfile() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision profile.
|
||||
*/
|
||||
void setDvProfile(std::optional<qint32> newDvProfile);
|
||||
bool dvProfileNull() const;
|
||||
void setDvProfileNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision level.
|
||||
*/
|
||||
std::optional<qint32> dvLevel() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision level.
|
||||
*/
|
||||
void setDvLevel(std::optional<qint32> newDvLevel);
|
||||
bool dvLevelNull() const;
|
||||
void setDvLevelNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision rpu present flag.
|
||||
*/
|
||||
std::optional<qint32> rpuPresentFlag() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision rpu present flag.
|
||||
*/
|
||||
void setRpuPresentFlag(std::optional<qint32> newRpuPresentFlag);
|
||||
bool rpuPresentFlagNull() const;
|
||||
void setRpuPresentFlagNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision el present flag.
|
||||
*/
|
||||
std::optional<qint32> elPresentFlag() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision el present flag.
|
||||
*/
|
||||
void setElPresentFlag(std::optional<qint32> newElPresentFlag);
|
||||
bool elPresentFlagNull() const;
|
||||
void setElPresentFlagNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision bl present flag.
|
||||
*/
|
||||
std::optional<qint32> blPresentFlag() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision bl present flag.
|
||||
*/
|
||||
void setBlPresentFlag(std::optional<qint32> newBlPresentFlag);
|
||||
bool blPresentFlagNull() const;
|
||||
void setBlPresentFlagNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision bl signal compatibility id.
|
||||
*/
|
||||
std::optional<qint32> dvBlSignalCompatibilityId() const;
|
||||
/**
|
||||
* @brief Gets or sets the Dolby Vision bl signal compatibility id.
|
||||
*/
|
||||
void setDvBlSignalCompatibilityId(std::optional<qint32> newDvBlSignalCompatibilityId);
|
||||
bool dvBlSignalCompatibilityIdNull() const;
|
||||
void setDvBlSignalCompatibilityIdNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the Rotation in degrees.
|
||||
*/
|
||||
std::optional<qint32> rotation() const;
|
||||
/**
|
||||
* @brief Gets or sets the Rotation in degrees.
|
||||
*/
|
||||
void setRotation(std::optional<qint32> newRotation);
|
||||
bool rotationNull() const;
|
||||
void setRotationNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the comment.
|
||||
*/
|
||||
|
@ -194,16 +300,31 @@ public:
|
|||
bool titleNull() const;
|
||||
void setTitleNull();
|
||||
|
||||
|
||||
VideoRange videoRange() const;
|
||||
|
||||
void setVideoRange(VideoRange newVideoRange);
|
||||
|
||||
|
||||
VideoRangeType videoRangeType() const;
|
||||
|
||||
void setVideoRangeType(VideoRangeType newVideoRangeType);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the video range.
|
||||
* @brief Gets the video dovi title.
|
||||
*/
|
||||
QString videoRange() const;
|
||||
QString videoDoViTitle() const;
|
||||
/**
|
||||
* @brief Gets or sets the video range.
|
||||
* @brief Gets the video dovi title.
|
||||
*/
|
||||
void setVideoRange(QString newVideoRange);
|
||||
bool videoRangeNull() const;
|
||||
void setVideoRangeNull();
|
||||
void setVideoDoViTitle(QString newVideoDoViTitle);
|
||||
bool videoDoViTitleNull() const;
|
||||
void setVideoDoViTitleNull();
|
||||
|
||||
|
||||
AudioSpatialFormat audioSpatialFormat() const;
|
||||
|
||||
void setAudioSpatialFormat(AudioSpatialFormat newAudioSpatialFormat);
|
||||
|
||||
|
||||
QString localizedUndefined() const;
|
||||
|
@ -227,6 +348,20 @@ public:
|
|||
void setLocalizedForcedNull();
|
||||
|
||||
|
||||
QString localizedExternal() const;
|
||||
|
||||
void setLocalizedExternal(QString newLocalizedExternal);
|
||||
bool localizedExternalNull() const;
|
||||
void setLocalizedExternalNull();
|
||||
|
||||
|
||||
QString localizedHearingImpaired() const;
|
||||
|
||||
void setLocalizedHearingImpaired(QString newLocalizedHearingImpaired);
|
||||
bool localizedHearingImpairedNull() const;
|
||||
void setLocalizedHearingImpairedNull();
|
||||
|
||||
|
||||
QString displayTitle() const;
|
||||
|
||||
void setDisplayTitle(QString newDisplayTitle);
|
||||
|
@ -351,6 +486,15 @@ public:
|
|||
*/
|
||||
void setIsForced(bool newIsForced);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether this instance is for the hearing impaired.
|
||||
*/
|
||||
bool isHearingImpaired() const;
|
||||
/**
|
||||
* @brief Gets or sets a value indicating whether this instance is for the hearing impaired.
|
||||
*/
|
||||
void setIsHearingImpaired(bool newIsHearingImpaired);
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the height.
|
||||
*/
|
||||
|
@ -395,6 +539,21 @@ public:
|
|||
bool realFrameRateNull() const;
|
||||
void setRealFrameRateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets the framerate used as reference.
|
||||
Prefer AverageFrameRate, if that is null or an unrealistic value
|
||||
then fallback to RealFrameRate.
|
||||
*/
|
||||
std::optional<float> referenceFrameRate() const;
|
||||
/**
|
||||
* @brief Gets the framerate used as reference.
|
||||
Prefer AverageFrameRate, if that is null or an unrealistic value
|
||||
then fallback to RealFrameRate.
|
||||
*/
|
||||
void setReferenceFrameRate(std::optional<float> newReferenceFrameRate);
|
||||
bool referenceFrameRateNull() const;
|
||||
void setReferenceFrameRateNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets the profile.
|
||||
*/
|
||||
|
@ -526,11 +685,11 @@ public:
|
|||
void setLevelNull();
|
||||
|
||||
/**
|
||||
* @brief Gets a value indicating whether this instance is anamorphic.
|
||||
* @brief Gets or sets whether this instance is anamorphic.
|
||||
*/
|
||||
std::optional<bool> isAnamorphic() const;
|
||||
/**
|
||||
* @brief Gets a value indicating whether this instance is anamorphic.
|
||||
* @brief Gets or sets whether this instance is anamorphic.
|
||||
*/
|
||||
void setIsAnamorphic(std::optional<bool> newIsAnamorphic);
|
||||
bool isAnamorphicNull() const;
|
||||
|
@ -545,14 +704,28 @@ protected:
|
|||
QString m_colorSpace;
|
||||
QString m_colorTransfer;
|
||||
QString m_colorPrimaries;
|
||||
std::optional<qint32> m_dvVersionMajor = std::nullopt;
|
||||
std::optional<qint32> m_dvVersionMinor = std::nullopt;
|
||||
std::optional<qint32> m_dvProfile = std::nullopt;
|
||||
std::optional<qint32> m_dvLevel = std::nullopt;
|
||||
std::optional<qint32> m_rpuPresentFlag = std::nullopt;
|
||||
std::optional<qint32> m_elPresentFlag = std::nullopt;
|
||||
std::optional<qint32> m_blPresentFlag = std::nullopt;
|
||||
std::optional<qint32> m_dvBlSignalCompatibilityId = std::nullopt;
|
||||
std::optional<qint32> m_rotation = std::nullopt;
|
||||
QString m_comment;
|
||||
QString m_timeBase;
|
||||
QString m_codecTimeBase;
|
||||
QString m_title;
|
||||
QString m_videoRange;
|
||||
VideoRange m_videoRange;
|
||||
VideoRangeType m_videoRangeType;
|
||||
QString m_videoDoViTitle;
|
||||
AudioSpatialFormat m_audioSpatialFormat;
|
||||
QString m_localizedUndefined;
|
||||
QString m_localizedDefault;
|
||||
QString m_localizedForced;
|
||||
QString m_localizedExternal;
|
||||
QString m_localizedHearingImpaired;
|
||||
QString m_displayTitle;
|
||||
QString m_nalLengthSize;
|
||||
bool m_isInterlaced;
|
||||
|
@ -566,10 +739,12 @@ protected:
|
|||
std::optional<qint32> m_sampleRate = std::nullopt;
|
||||
bool m_isDefault;
|
||||
bool m_isForced;
|
||||
bool m_isHearingImpaired;
|
||||
std::optional<qint32> m_height = std::nullopt;
|
||||
std::optional<qint32> m_width = std::nullopt;
|
||||
std::optional<float> m_averageFrameRate = std::nullopt;
|
||||
std::optional<float> m_realFrameRate = std::nullopt;
|
||||
std::optional<float> m_referenceFrameRate = std::nullopt;
|
||||
QString m_profile;
|
||||
MediaStreamType m_type;
|
||||
QString m_aspectRatio;
|
||||
|
|
76
core/include/JellyfinQt/dto/mediastreamprotocol.h
Normal file
76
core/include/JellyfinQt/dto/mediastreamprotocol.h
Normal 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_MEDIASTREAMPROTOCOL_H
|
||||
#define JELLYFIN_DTO_MEDIASTREAMPROTOCOL_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
// Forward declaration
|
||||
class ApiClient;
|
||||
}
|
||||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class MediaStreamProtocolClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
Http,
|
||||
Hls,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit MediaStreamProtocolClass();
|
||||
};
|
||||
|
||||
using MediaStreamProtocol = MediaStreamProtocolClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using MediaStreamProtocol = Jellyfin::DTO::MediaStreamProtocol;
|
||||
|
||||
template <>
|
||||
MediaStreamProtocol fromJsonValue(const QJsonValue &source, convertType<MediaStreamProtocol>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const MediaStreamProtocol &source, convertType<MediaStreamProtocol>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_MEDIASTREAMPROTOCOL_H
|
|
@ -52,6 +52,8 @@ public:
|
|||
Video,
|
||||
Subtitle,
|
||||
EmbeddedImage,
|
||||
Data,
|
||||
Lyric,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_ARCHITECTURE_H
|
||||
#define JELLYFIN_DTO_ARCHITECTURE_H
|
||||
#ifndef JELLYFIN_DTO_MEDIATYPE_H
|
||||
#define JELLYFIN_DTO_MEDIATYPE_H
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QObject>
|
||||
|
@ -43,37 +43,37 @@ class ApiClient;
|
|||
namespace Jellyfin {
|
||||
namespace DTO {
|
||||
|
||||
class ArchitectureClass {
|
||||
class MediaTypeClass {
|
||||
Q_GADGET
|
||||
public:
|
||||
enum Value {
|
||||
EnumNotSet,
|
||||
X86,
|
||||
X64,
|
||||
Arm,
|
||||
Arm64,
|
||||
Wasm,
|
||||
Unknown,
|
||||
Video,
|
||||
Audio,
|
||||
Photo,
|
||||
Book,
|
||||
};
|
||||
Q_ENUM(Value)
|
||||
private:
|
||||
explicit ArchitectureClass();
|
||||
explicit MediaTypeClass();
|
||||
};
|
||||
|
||||
using Architecture = ArchitectureClass::Value;
|
||||
using MediaType = MediaTypeClass::Value;
|
||||
|
||||
} // NS DTO
|
||||
|
||||
namespace Support {
|
||||
|
||||
using Architecture = Jellyfin::DTO::Architecture;
|
||||
using MediaType = Jellyfin::DTO::MediaType;
|
||||
|
||||
template <>
|
||||
Architecture fromJsonValue(const QJsonValue &source, convertType<Architecture>);
|
||||
MediaType fromJsonValue(const QJsonValue &source, convertType<MediaType>);
|
||||
|
||||
template <>
|
||||
QJsonValue toJsonValue(const Architecture &source, convertType<Architecture>);
|
||||
QJsonValue toJsonValue(const MediaType &source, convertType<MediaType>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_ARCHITECTURE_H
|
||||
#endif // JELLYFIN_DTO_MEDIATYPE_H
|
|
@ -32,9 +32,11 @@
|
|||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
#include <QString>
|
||||
#include <QList>
|
||||
#include <QStringList>
|
||||
#include <optional>
|
||||
|
||||
#include "JellyfinQt/dto/mediaupdateinfopathdto.h"
|
||||
#include "JellyfinQt/support/jsonconv.h"
|
||||
|
||||
namespace Jellyfin {
|
||||
|
@ -46,7 +48,11 @@ namespace DTO {
|
|||
|
||||
|
||||
class MediaUpdateInfoDto {
|
||||
public: MediaUpdateInfoDto();
|
||||
public:
|
||||
MediaUpdateInfoDto(
|
||||
QList<MediaUpdateInfoPathDto> updates
|
||||
);
|
||||
|
||||
MediaUpdateInfoDto(const MediaUpdateInfoDto &other);
|
||||
|
||||
/**
|
||||
|
@ -60,35 +66,21 @@ public: MediaUpdateInfoDto();
|
|||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets media path.
|
||||
* @brief Gets or sets the list of updates.
|
||||
*/
|
||||
QString path() const;
|
||||
QList<MediaUpdateInfoPathDto> updates() const;
|
||||
/**
|
||||
* @brief Gets or sets media path.
|
||||
* @brief Gets or sets the list of updates.
|
||||
*/
|
||||
void setPath(QString newPath);
|
||||
bool pathNull() const;
|
||||
void setPathNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets media update type.
|
||||
Created, Modified, Deleted.
|
||||
*/
|
||||
QString updateType() const;
|
||||
/**
|
||||
* @brief Gets or sets media update type.
|
||||
Created, Modified, Deleted.
|
||||
*/
|
||||
void setUpdateType(QString newUpdateType);
|
||||
bool updateTypeNull() const;
|
||||
void setUpdateTypeNull();
|
||||
void setUpdates(QList<MediaUpdateInfoPathDto> newUpdates);
|
||||
|
||||
|
||||
protected:
|
||||
QString m_path;
|
||||
QString m_updateType;
|
||||
|
||||
QList<MediaUpdateInfoPathDto> m_updates;
|
||||
|
||||
private:
|
||||
// Private constructor which generates an invalid object, for use withing MediaUpdateInfoDto::fromJson();
|
||||
MediaUpdateInfoDto();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
* file with a newer file if needed instead of manually updating the files.
|
||||
*/
|
||||
|
||||
#ifndef JELLYFIN_DTO_MEDIAENCODERPATHDTO_H
|
||||
#define JELLYFIN_DTO_MEDIAENCODERPATHDTO_H
|
||||
#ifndef JELLYFIN_DTO_MEDIAUPDATEINFOPATHDTO_H
|
||||
#define JELLYFIN_DTO_MEDIAUPDATEINFOPATHDTO_H
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
|
@ -45,46 +45,48 @@ namespace Jellyfin {
|
|||
namespace DTO {
|
||||
|
||||
|
||||
class MediaEncoderPathDto {
|
||||
public: MediaEncoderPathDto();
|
||||
MediaEncoderPathDto(const MediaEncoderPathDto &other);
|
||||
class MediaUpdateInfoPathDto {
|
||||
public: MediaUpdateInfoPathDto();
|
||||
MediaUpdateInfoPathDto(const MediaUpdateInfoPathDto &other);
|
||||
|
||||
/**
|
||||
* Replaces the data being hold by this class with that of the other.
|
||||
*/
|
||||
void replaceData(MediaEncoderPathDto &other);
|
||||
void replaceData(MediaUpdateInfoPathDto &other);
|
||||
|
||||
static MediaEncoderPathDto fromJson(QJsonObject source);
|
||||
static MediaUpdateInfoPathDto fromJson(QJsonObject source);
|
||||
void setFromJson(QJsonObject source);
|
||||
QJsonObject toJson() const;
|
||||
|
||||
// Properties
|
||||
/**
|
||||
* @brief Gets or sets media encoder path.
|
||||
* @brief Gets or sets media path.
|
||||
*/
|
||||
QString path() const;
|
||||
/**
|
||||
* @brief Gets or sets media encoder path.
|
||||
* @brief Gets or sets media path.
|
||||
*/
|
||||
void setPath(QString newPath);
|
||||
bool pathNull() const;
|
||||
void setPathNull();
|
||||
|
||||
/**
|
||||
* @brief Gets or sets media encoder path type.
|
||||
* @brief Gets or sets media update type.
|
||||
Created, Modified, Deleted.
|
||||
*/
|
||||
QString pathType() const;
|
||||
QString updateType() const;
|
||||
/**
|
||||
* @brief Gets or sets media encoder path type.
|
||||
* @brief Gets or sets media update type.
|
||||
Created, Modified, Deleted.
|
||||
*/
|
||||
void setPathType(QString newPathType);
|
||||
bool pathTypeNull() const;
|
||||
void setPathTypeNull();
|
||||
void setUpdateType(QString newUpdateType);
|
||||
bool updateTypeNull() const;
|
||||
void setUpdateTypeNull();
|
||||
|
||||
|
||||
protected:
|
||||
QString m_path;
|
||||
QString m_pathType;
|
||||
QString m_updateType;
|
||||
|
||||
|
||||
};
|
||||
|
@ -94,15 +96,15 @@ protected:
|
|||
|
||||
namespace Support {
|
||||
|
||||
using MediaEncoderPathDto = Jellyfin::DTO::MediaEncoderPathDto;
|
||||
using MediaUpdateInfoPathDto = Jellyfin::DTO::MediaUpdateInfoPathDto;
|
||||
|
||||
template <>
|
||||
MediaEncoderPathDto fromJsonValue(const QJsonValue &source, convertType<MediaEncoderPathDto>);
|
||||
MediaUpdateInfoPathDto fromJsonValue(const QJsonValue &source, convertType<MediaUpdateInfoPathDto>);
|
||||
|
||||
template<>
|
||||
QJsonValue toJsonValue(const MediaEncoderPathDto &source, convertType<MediaEncoderPathDto>);
|
||||
QJsonValue toJsonValue(const MediaUpdateInfoPathDto &source, convertType<MediaUpdateInfoPathDto>);
|
||||
|
||||
} // NS DTO
|
||||
} // NS Jellyfin
|
||||
|
||||
#endif // JELLYFIN_DTO_MEDIAENCODERPATHDTO_H
|
||||
#endif // JELLYFIN_DTO_MEDIAUPDATEINFOPATHDTO_H
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue