diff --git a/core/codegen/object_header.hbs b/core/codegen/object_header.hbs index 6e1f0af..0d71eb9 100644 --- a/core/codegen/object_header.hbs +++ b/core/codegen/object_header.hbs @@ -7,9 +7,22 @@ class {{className}}; class {{className}} { public: - + {{#if hasRequiredProperties}} + + {{className}}( + {{#each properties as |p|}} + {{#if p.isNotNullable}} + + {{p.typeNameWithQualifiers}} {{p.name}}{{#if p.isLastNonNullable}}{{else}},{{/if}} + {{/if}} + {{/each}} + + ); + + {{else}} {{className}}(); - + {{/if}} + {{className}}(const {{className}} &other); /** @@ -60,8 +73,18 @@ protected: {{/if}} {{/each}} + + +{{#if hasRequiredProperties}} +private: + // Private constructor which generates an invalid object, for use withing {{className}}::fromJson(); + + {{className}}(); +{{/if}} + }; + } // NS DTO namespace Support { diff --git a/core/codegen/object_implementation.hbs b/core/codegen/object_implementation.hbs index 0237911..e7db800 100644 --- a/core/codegen/object_implementation.hbs +++ b/core/codegen/object_implementation.hbs @@ -1,5 +1,32 @@ {{className}}::{{className}}() {} +{{#if hasRequiredProperties}} +{{className}}::{{className}} ( + +{{#each properties as |property|}} +{{#if property.isNotNullable}} + + {{property.typeNameWithQualifiers}} {{property.name}}{{#if property.isLastNonNullable}} {{else}}, {{/if}} + +{{/if}} +{{/each}} + ) : + +{{#each properties as |property|}} +{{#if property.isNotNullable}} + {{property.memberName}}({{property.name}}) + {{#if property.isLastNonNullable}} + { } + {{else}} +, + {{/if}} + +{{/if}} +{{/each}} + + + +{{/if}} {{className}}::{{className}}(const {{className}} &other) : diff --git a/core/include/JellyfinQt/dto/accessschedule.h b/core/include/JellyfinQt/dto/accessschedule.h index d389f4f..7208df7 100644 --- a/core/include/JellyfinQt/dto/accessschedule.h +++ b/core/include/JellyfinQt/dto/accessschedule.h @@ -48,7 +48,14 @@ namespace DTO { class AccessSchedule { public: - AccessSchedule(); + AccessSchedule( + qint32 jellyfinId, + QString userId, + DynamicDayOfWeek dayOfWeek, + double startHour, + double endHour + ); + AccessSchedule(const AccessSchedule &other); /** @@ -109,8 +116,13 @@ protected: DynamicDayOfWeek m_dayOfWeek; double m_startHour; double m_endHour; + +private: + // Private constructor which generates an invalid object, for use withing AccessSchedule::fromJson(); + AccessSchedule(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/activitylogentry.h b/core/include/JellyfinQt/dto/activitylogentry.h index ff3f4b6..f0a438b 100644 --- a/core/include/JellyfinQt/dto/activitylogentry.h +++ b/core/include/JellyfinQt/dto/activitylogentry.h @@ -49,7 +49,13 @@ namespace DTO { class ActivityLogEntry { public: - ActivityLogEntry(); + ActivityLogEntry( + qint64 jellyfinId, + QDateTime date, + QString userId, + LogLevel severity + ); + ActivityLogEntry(const ActivityLogEntry &other); /** @@ -172,8 +178,13 @@ protected: QString m_userId; QString m_userPrimaryImageTag; LogLevel m_severity; + +private: + // Private constructor which generates an invalid object, for use withing ActivityLogEntry::fromJson(); + ActivityLogEntry(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/activitylogentryqueryresult.h b/core/include/JellyfinQt/dto/activitylogentryqueryresult.h index 140774c..fc04908 100644 --- a/core/include/JellyfinQt/dto/activitylogentryqueryresult.h +++ b/core/include/JellyfinQt/dto/activitylogentryqueryresult.h @@ -49,7 +49,11 @@ namespace DTO { class ActivityLogEntryQueryResult { public: - ActivityLogEntryQueryResult(); + ActivityLogEntryQueryResult( + qint32 totalRecordCount, + qint32 startIndex + ); + ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other); /** @@ -96,8 +100,13 @@ protected: QList m_items; qint32 m_totalRecordCount; qint32 m_startIndex; + +private: + // Private constructor which generates an invalid object, for use withing ActivityLogEntryQueryResult::fromJson(); + ActivityLogEntryQueryResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/addvirtualfolderdto.h b/core/include/JellyfinQt/dto/addvirtualfolderdto.h index a6420c5..f681c96 100644 --- a/core/include/JellyfinQt/dto/addvirtualfolderdto.h +++ b/core/include/JellyfinQt/dto/addvirtualfolderdto.h @@ -48,7 +48,10 @@ namespace DTO { class AddVirtualFolderDto { public: - AddVirtualFolderDto(); + AddVirtualFolderDto( + QSharedPointer libraryOptions + ); + AddVirtualFolderDto(const AddVirtualFolderDto &other); /** @@ -69,8 +72,13 @@ public: protected: QSharedPointer m_libraryOptions = QSharedPointer(); + +private: + // Private constructor which generates an invalid object, for use withing AddVirtualFolderDto::fromJson(); + AddVirtualFolderDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/albuminfo.h b/core/include/JellyfinQt/dto/albuminfo.h index 126af4b..1a37414 100644 --- a/core/include/JellyfinQt/dto/albuminfo.h +++ b/core/include/JellyfinQt/dto/albuminfo.h @@ -51,7 +51,10 @@ namespace DTO { class AlbumInfo { public: - AlbumInfo(); + AlbumInfo( + bool isAutomated + ); + AlbumInfo(const AlbumInfo &other); /** @@ -200,8 +203,13 @@ protected: QStringList m_albumArtists; QJsonObject m_artistProviderIds; QList m_songInfos; + +private: + // Private constructor which generates an invalid object, for use withing AlbumInfo::fromJson(); + AlbumInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/albuminforemotesearchquery.h b/core/include/JellyfinQt/dto/albuminforemotesearchquery.h index 1574371..a7ea9ef 100644 --- a/core/include/JellyfinQt/dto/albuminforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/albuminforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class AlbumInfoRemoteSearchQuery { public: - AlbumInfoRemoteSearchQuery(); + AlbumInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing AlbumInfoRemoteSearchQuery::fromJson(); + AlbumInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/allthememediaresult.h b/core/include/JellyfinQt/dto/allthememediaresult.h index 12f7c20..f574a94 100644 --- a/core/include/JellyfinQt/dto/allthememediaresult.h +++ b/core/include/JellyfinQt/dto/allthememediaresult.h @@ -48,7 +48,12 @@ namespace DTO { class AllThemeMediaResult { public: - AllThemeMediaResult(); + AllThemeMediaResult( + QSharedPointer themeVideosResult, + QSharedPointer themeSongsResult, + QSharedPointer soundtrackSongsResult + ); + AllThemeMediaResult(const AllThemeMediaResult &other); /** @@ -81,8 +86,13 @@ protected: QSharedPointer m_themeVideosResult = QSharedPointer(); QSharedPointer m_themeSongsResult = QSharedPointer(); QSharedPointer m_soundtrackSongsResult = QSharedPointer(); + +private: + // Private constructor which generates an invalid object, for use withing AllThemeMediaResult::fromJson(); + AllThemeMediaResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/artistinfo.h b/core/include/JellyfinQt/dto/artistinfo.h index 4d95682..148c7c4 100644 --- a/core/include/JellyfinQt/dto/artistinfo.h +++ b/core/include/JellyfinQt/dto/artistinfo.h @@ -51,7 +51,10 @@ namespace DTO { class ArtistInfo { public: - ArtistInfo(); + ArtistInfo( + bool isAutomated + ); + ArtistInfo(const ArtistInfo &other); /** @@ -176,8 +179,13 @@ protected: QDateTime m_premiereDate; bool m_isAutomated; QList m_songInfos; + +private: + // Private constructor which generates an invalid object, for use withing ArtistInfo::fromJson(); + ArtistInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/artistinforemotesearchquery.h b/core/include/JellyfinQt/dto/artistinforemotesearchquery.h index cdf6758..87a24e6 100644 --- a/core/include/JellyfinQt/dto/artistinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/artistinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class ArtistInfoRemoteSearchQuery { public: - ArtistInfoRemoteSearchQuery(); + ArtistInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing ArtistInfoRemoteSearchQuery::fromJson(); + ArtistInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/authenticateuserbyname.h b/core/include/JellyfinQt/dto/authenticateuserbyname.h index a64e595..a282b4c 100644 --- a/core/include/JellyfinQt/dto/authenticateuserbyname.h +++ b/core/include/JellyfinQt/dto/authenticateuserbyname.h @@ -46,8 +46,7 @@ namespace DTO { class AuthenticateUserByName { -public: - AuthenticateUserByName(); +public: AuthenticateUserByName(); AuthenticateUserByName(const AuthenticateUserByName &other); /** @@ -98,8 +97,11 @@ protected: QString m_username; QString m_pw; QString m_password; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/authenticationinfo.h b/core/include/JellyfinQt/dto/authenticationinfo.h index 1072ff4..0dd1dbc 100644 --- a/core/include/JellyfinQt/dto/authenticationinfo.h +++ b/core/include/JellyfinQt/dto/authenticationinfo.h @@ -48,7 +48,14 @@ namespace DTO { class AuthenticationInfo { public: - AuthenticationInfo(); + AuthenticationInfo( + qint64 jellyfinId, + QString userId, + bool isActive, + QDateTime dateCreated, + QDateTime dateLastActivity + ); + AuthenticationInfo(const AuthenticationInfo &other); /** @@ -189,8 +196,13 @@ protected: QDateTime m_dateRevoked; QDateTime m_dateLastActivity; QString m_userName; + +private: + // Private constructor which generates an invalid object, for use withing AuthenticationInfo::fromJson(); + AuthenticationInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/authenticationinfoqueryresult.h b/core/include/JellyfinQt/dto/authenticationinfoqueryresult.h index 24fee3a..b9ac7aa 100644 --- a/core/include/JellyfinQt/dto/authenticationinfoqueryresult.h +++ b/core/include/JellyfinQt/dto/authenticationinfoqueryresult.h @@ -49,7 +49,11 @@ namespace DTO { class AuthenticationInfoQueryResult { public: - AuthenticationInfoQueryResult(); + AuthenticationInfoQueryResult( + qint32 totalRecordCount, + qint32 startIndex + ); + AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other); /** @@ -96,8 +100,13 @@ protected: QList m_items; qint32 m_totalRecordCount; qint32 m_startIndex; + +private: + // Private constructor which generates an invalid object, for use withing AuthenticationInfoQueryResult::fromJson(); + AuthenticationInfoQueryResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/authenticationresult.h b/core/include/JellyfinQt/dto/authenticationresult.h index eefa646..e03c9ad 100644 --- a/core/include/JellyfinQt/dto/authenticationresult.h +++ b/core/include/JellyfinQt/dto/authenticationresult.h @@ -50,7 +50,11 @@ namespace DTO { class AuthenticationResult { public: - AuthenticationResult(); + AuthenticationResult( + QSharedPointer user, + QSharedPointer sessionInfo + ); + AuthenticationResult(const AuthenticationResult &other); /** @@ -93,8 +97,13 @@ protected: QSharedPointer m_sessionInfo = QSharedPointer(); QString m_accessToken; QString m_serverId; + +private: + // Private constructor which generates an invalid object, for use withing AuthenticationResult::fromJson(); + AuthenticationResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/baseitem.h b/core/include/JellyfinQt/dto/baseitem.h index 86434d8..f2e8de6 100644 --- a/core/include/JellyfinQt/dto/baseitem.h +++ b/core/include/JellyfinQt/dto/baseitem.h @@ -51,7 +51,15 @@ namespace DTO { class BaseItem { public: - BaseItem(); + BaseItem( + QDateTime dateLastSaved, + bool isHD, + bool isShortcut, + qint32 width, + qint32 height, + bool supportsExternalTransfer + ); + BaseItem(const BaseItem &other); /** @@ -146,8 +154,13 @@ protected: 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 { diff --git a/core/include/JellyfinQt/dto/baseitemdto.h b/core/include/JellyfinQt/dto/baseitemdto.h index 46aecb1..9804928 100644 --- a/core/include/JellyfinQt/dto/baseitemdto.h +++ b/core/include/JellyfinQt/dto/baseitemdto.h @@ -69,7 +69,20 @@ namespace DTO { class BaseItemDto { public: - BaseItemDto(); + BaseItemDto( + QString jellyfinId, + Video3DFormat video3DFormat, + PlayAccess playAccess, + QSharedPointer userData, + VideoType videoType, + LocationType locationType, + IsoType isoType, + ImageOrientation imageOrientation, + ChannelType channelType, + ProgramAudio audio, + QSharedPointer currentProgram + ); + BaseItemDto(const BaseItemDto &other); /** @@ -1700,8 +1713,13 @@ protected: std::optional m_isPremiere = std::nullopt; QString m_timerId; QSharedPointer m_currentProgram = QSharedPointer(); + +private: + // Private constructor which generates an invalid object, for use withing BaseItemDto::fromJson(); + BaseItemDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/baseitemdtoqueryresult.h b/core/include/JellyfinQt/dto/baseitemdtoqueryresult.h index 8f443b3..dd8c818 100644 --- a/core/include/JellyfinQt/dto/baseitemdtoqueryresult.h +++ b/core/include/JellyfinQt/dto/baseitemdtoqueryresult.h @@ -49,7 +49,11 @@ namespace DTO { class BaseItemDtoQueryResult { public: - BaseItemDtoQueryResult(); + BaseItemDtoQueryResult( + qint32 totalRecordCount, + qint32 startIndex + ); + BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other); /** @@ -96,8 +100,13 @@ protected: QList m_items; qint32 m_totalRecordCount; qint32 m_startIndex; + +private: + // Private constructor which generates an invalid object, for use withing BaseItemDtoQueryResult::fromJson(); + BaseItemDtoQueryResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/baseitemperson.h b/core/include/JellyfinQt/dto/baseitemperson.h index 91dc434..d4e99d8 100644 --- a/core/include/JellyfinQt/dto/baseitemperson.h +++ b/core/include/JellyfinQt/dto/baseitemperson.h @@ -46,8 +46,7 @@ namespace DTO { class BaseItemPerson { -public: - BaseItemPerson(); +public: BaseItemPerson(); BaseItemPerson(const BaseItemPerson &other); /** @@ -134,8 +133,11 @@ protected: QString m_type; QString m_primaryImageTag; QJsonObject m_imageBlurHashes; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/bookinfo.h b/core/include/JellyfinQt/dto/bookinfo.h index e5bdb8e..3cfcc7f 100644 --- a/core/include/JellyfinQt/dto/bookinfo.h +++ b/core/include/JellyfinQt/dto/bookinfo.h @@ -48,7 +48,10 @@ namespace DTO { class BookInfo { public: - BookInfo(); + BookInfo( + bool isAutomated + ); + BookInfo(const BookInfo &other); /** @@ -173,8 +176,13 @@ protected: QDateTime m_premiereDate; bool m_isAutomated; QString m_seriesName; + +private: + // Private constructor which generates an invalid object, for use withing BookInfo::fromJson(); + BookInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/bookinforemotesearchquery.h b/core/include/JellyfinQt/dto/bookinforemotesearchquery.h index 471d89a..54c232d 100644 --- a/core/include/JellyfinQt/dto/bookinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/bookinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class BookInfoRemoteSearchQuery { public: - BookInfoRemoteSearchQuery(); + BookInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing BookInfoRemoteSearchQuery::fromJson(); + BookInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/boxsetinfo.h b/core/include/JellyfinQt/dto/boxsetinfo.h index 84a3734..259f616 100644 --- a/core/include/JellyfinQt/dto/boxsetinfo.h +++ b/core/include/JellyfinQt/dto/boxsetinfo.h @@ -48,7 +48,10 @@ namespace DTO { class BoxSetInfo { public: - BoxSetInfo(); + BoxSetInfo( + bool isAutomated + ); + BoxSetInfo(const BoxSetInfo &other); /** @@ -165,8 +168,13 @@ protected: std::optional m_parentIndexNumber = std::nullopt; QDateTime m_premiereDate; bool m_isAutomated; + +private: + // Private constructor which generates an invalid object, for use withing BoxSetInfo::fromJson(); + BoxSetInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h b/core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h index 37f27fc..8ca4c67 100644 --- a/core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class BoxSetInfoRemoteSearchQuery { public: - BoxSetInfoRemoteSearchQuery(); + BoxSetInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing BoxSetInfoRemoteSearchQuery::fromJson(); + BoxSetInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/brandingoptions.h b/core/include/JellyfinQt/dto/brandingoptions.h index 1059eda..ef7f052 100644 --- a/core/include/JellyfinQt/dto/brandingoptions.h +++ b/core/include/JellyfinQt/dto/brandingoptions.h @@ -46,8 +46,7 @@ namespace DTO { class BrandingOptions { -public: - BrandingOptions(); +public: BrandingOptions(); BrandingOptions(const BrandingOptions &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_loginDisclaimer; QString m_customCss; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/bufferrequestdto.h b/core/include/JellyfinQt/dto/bufferrequestdto.h index 1b72b20..09323fb 100644 --- a/core/include/JellyfinQt/dto/bufferrequestdto.h +++ b/core/include/JellyfinQt/dto/bufferrequestdto.h @@ -48,7 +48,13 @@ namespace DTO { class BufferRequestDto { public: - BufferRequestDto(); + BufferRequestDto( + QDateTime when, + qint64 positionTicks, + bool isPlaying, + QString playlistItemId + ); + BufferRequestDto(const BufferRequestDto &other); /** @@ -103,8 +109,13 @@ protected: qint64 m_positionTicks; bool m_isPlaying; QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing BufferRequestDto::fromJson(); + BufferRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/channelfeatures.h b/core/include/JellyfinQt/dto/channelfeatures.h index 4dd68bb..f08958f 100644 --- a/core/include/JellyfinQt/dto/channelfeatures.h +++ b/core/include/JellyfinQt/dto/channelfeatures.h @@ -52,7 +52,14 @@ namespace DTO { class ChannelFeatures { public: - ChannelFeatures(); + ChannelFeatures( + bool canSearch, + bool supportsSortOrderToggle, + bool supportsLatestMedia, + bool canFilter, + bool supportsContentDownloading + ); + ChannelFeatures(const ChannelFeatures &other); /** @@ -201,8 +208,13 @@ protected: bool m_supportsLatestMedia; bool m_canFilter; bool m_supportsContentDownloading; + +private: + // Private constructor which generates an invalid object, for use withing ChannelFeatures::fromJson(); + ChannelFeatures(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/channelmappingoptionsdto.h b/core/include/JellyfinQt/dto/channelmappingoptionsdto.h index 18a4c90..a09f0bf 100644 --- a/core/include/JellyfinQt/dto/channelmappingoptionsdto.h +++ b/core/include/JellyfinQt/dto/channelmappingoptionsdto.h @@ -51,8 +51,7 @@ namespace DTO { class ChannelMappingOptionsDto { -public: - ChannelMappingOptionsDto(); +public: ChannelMappingOptionsDto(); ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other); /** @@ -115,8 +114,11 @@ protected: QList m_providerChannels; QList m_mappings; QString m_providerName; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/chapterinfo.h b/core/include/JellyfinQt/dto/chapterinfo.h index 8846f73..e2e6ffc 100644 --- a/core/include/JellyfinQt/dto/chapterinfo.h +++ b/core/include/JellyfinQt/dto/chapterinfo.h @@ -48,7 +48,11 @@ namespace DTO { class ChapterInfo { public: - ChapterInfo(); + ChapterInfo( + qint64 startPositionTicks, + QDateTime imageDateModified + ); + ChapterInfo(const ChapterInfo &other); /** @@ -111,8 +115,13 @@ protected: QString m_imagePath; QDateTime m_imageDateModified; QString m_imageTag; + +private: + // Private constructor which generates an invalid object, for use withing ChapterInfo::fromJson(); + ChapterInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/clientcapabilities.h b/core/include/JellyfinQt/dto/clientcapabilities.h index 9c9db18..9a97f1a 100644 --- a/core/include/JellyfinQt/dto/clientcapabilities.h +++ b/core/include/JellyfinQt/dto/clientcapabilities.h @@ -52,7 +52,14 @@ namespace DTO { class ClientCapabilities { public: - ClientCapabilities(); + ClientCapabilities( + bool supportsMediaControl, + bool supportsContentUploading, + bool supportsPersistentIdentifier, + bool supportsSync, + QSharedPointer deviceProfile + ); + ClientCapabilities(const ClientCapabilities &other); /** @@ -137,8 +144,13 @@ protected: QSharedPointer m_deviceProfile = QSharedPointer(); QString m_appStoreUrl; QString m_iconUrl; + +private: + // Private constructor which generates an invalid object, for use withing ClientCapabilities::fromJson(); + ClientCapabilities(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/clientcapabilitiesdto.h b/core/include/JellyfinQt/dto/clientcapabilitiesdto.h index 0979c2d..59c8ed4 100644 --- a/core/include/JellyfinQt/dto/clientcapabilitiesdto.h +++ b/core/include/JellyfinQt/dto/clientcapabilitiesdto.h @@ -52,7 +52,14 @@ namespace DTO { class ClientCapabilitiesDto { public: - ClientCapabilitiesDto(); + ClientCapabilitiesDto( + bool supportsMediaControl, + bool supportsContentUploading, + bool supportsPersistentIdentifier, + bool supportsSync, + QSharedPointer deviceProfile + ); + ClientCapabilitiesDto(const ClientCapabilitiesDto &other); /** @@ -173,8 +180,13 @@ protected: QSharedPointer m_deviceProfile = QSharedPointer(); QString m_appStoreUrl; QString m_iconUrl; + +private: + // Private constructor which generates an invalid object, for use withing ClientCapabilitiesDto::fromJson(); + ClientCapabilitiesDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/codecprofile.h b/core/include/JellyfinQt/dto/codecprofile.h index af2c7ff..59d1f8c 100644 --- a/core/include/JellyfinQt/dto/codecprofile.h +++ b/core/include/JellyfinQt/dto/codecprofile.h @@ -51,7 +51,10 @@ namespace DTO { class CodecProfile { public: - CodecProfile(); + CodecProfile( + CodecType type + ); + CodecProfile(const CodecProfile &other); /** @@ -104,8 +107,13 @@ protected: QList m_applyConditions; QString m_codec; QString m_container; + +private: + // Private constructor which generates an invalid object, for use withing CodecProfile::fromJson(); + CodecProfile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/collectioncreationresult.h b/core/include/JellyfinQt/dto/collectioncreationresult.h index d6fd09d..b85b0dd 100644 --- a/core/include/JellyfinQt/dto/collectioncreationresult.h +++ b/core/include/JellyfinQt/dto/collectioncreationresult.h @@ -47,7 +47,10 @@ namespace DTO { class CollectionCreationResult { public: - CollectionCreationResult(); + CollectionCreationResult( + QString jellyfinId + ); + CollectionCreationResult(const CollectionCreationResult &other); /** @@ -68,8 +71,13 @@ public: protected: QString m_jellyfinId; + +private: + // Private constructor which generates an invalid object, for use withing CollectionCreationResult::fromJson(); + CollectionCreationResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/configurationpageinfo.h b/core/include/JellyfinQt/dto/configurationpageinfo.h index 46c7ef7..a57d202 100644 --- a/core/include/JellyfinQt/dto/configurationpageinfo.h +++ b/core/include/JellyfinQt/dto/configurationpageinfo.h @@ -48,7 +48,11 @@ namespace DTO { class ConfigurationPageInfo { public: - ConfigurationPageInfo(); + ConfigurationPageInfo( + bool enableInMainMenu, + ConfigurationPageType configurationPageType + ); + ConfigurationPageInfo(const ConfigurationPageInfo &other); /** @@ -139,8 +143,13 @@ protected: QString m_displayName; ConfigurationPageType m_configurationPageType; QString m_pluginId; + +private: + // Private constructor which generates an invalid object, for use withing ConfigurationPageInfo::fromJson(); + ConfigurationPageInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/containerprofile.h b/core/include/JellyfinQt/dto/containerprofile.h index 3b2b6bc..b2f7f1f 100644 --- a/core/include/JellyfinQt/dto/containerprofile.h +++ b/core/include/JellyfinQt/dto/containerprofile.h @@ -51,7 +51,10 @@ namespace DTO { class ContainerProfile { public: - ContainerProfile(); + ContainerProfile( + DlnaProfileType type + ); + ContainerProfile(const ContainerProfile &other); /** @@ -88,8 +91,13 @@ protected: DlnaProfileType m_type; QList m_conditions; QString m_container; + +private: + // Private constructor which generates an invalid object, for use withing ContainerProfile::fromJson(); + ContainerProfile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/controlresponse.h b/core/include/JellyfinQt/dto/controlresponse.h index 142fdfe..d8d9d06 100644 --- a/core/include/JellyfinQt/dto/controlresponse.h +++ b/core/include/JellyfinQt/dto/controlresponse.h @@ -47,7 +47,10 @@ namespace DTO { class ControlResponse { public: - ControlResponse(); + ControlResponse( + bool isSuccessful + ); + ControlResponse(const ControlResponse &other); /** @@ -84,8 +87,13 @@ protected: QJsonObject m_headers; QString m_xml; bool m_isSuccessful; + +private: + // Private constructor which generates an invalid object, for use withing ControlResponse::fromJson(); + ControlResponse(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/countryinfo.h b/core/include/JellyfinQt/dto/countryinfo.h index eb2f675..4b0ac6c 100644 --- a/core/include/JellyfinQt/dto/countryinfo.h +++ b/core/include/JellyfinQt/dto/countryinfo.h @@ -46,8 +46,7 @@ namespace DTO { class CountryInfo { -public: - CountryInfo(); +public: CountryInfo(); CountryInfo(const CountryInfo &other); /** @@ -110,8 +109,11 @@ protected: QString m_displayName; QString m_twoLetterISORegionName; QString m_threeLetterISORegionName; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/createplaylistdto.h b/core/include/JellyfinQt/dto/createplaylistdto.h index 6381cf8..8cd13c8 100644 --- a/core/include/JellyfinQt/dto/createplaylistdto.h +++ b/core/include/JellyfinQt/dto/createplaylistdto.h @@ -48,8 +48,7 @@ namespace DTO { class CreatePlaylistDto { -public: - CreatePlaylistDto(); +public: CreatePlaylistDto(); CreatePlaylistDto(const CreatePlaylistDto &other); /** @@ -112,8 +111,11 @@ protected: QStringList m_ids; QString m_userId; QString m_mediaType; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/createuserbyname.h b/core/include/JellyfinQt/dto/createuserbyname.h index d46db3d..ddce735 100644 --- a/core/include/JellyfinQt/dto/createuserbyname.h +++ b/core/include/JellyfinQt/dto/createuserbyname.h @@ -46,8 +46,7 @@ namespace DTO { class CreateUserByName { -public: - CreateUserByName(); +public: CreateUserByName(); CreateUserByName(const CreateUserByName &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_name; QString m_password; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/culturedto.h b/core/include/JellyfinQt/dto/culturedto.h index 3ef3df3..59f08e1 100644 --- a/core/include/JellyfinQt/dto/culturedto.h +++ b/core/include/JellyfinQt/dto/culturedto.h @@ -48,8 +48,7 @@ namespace DTO { class CultureDto { -public: - CultureDto(); +public: CultureDto(); CultureDto(const CultureDto &other); /** @@ -120,8 +119,11 @@ protected: QString m_twoLetterISOLanguageName; QString m_threeLetterISOLanguageName; QStringList m_threeLetterISOLanguageNames; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h b/core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h index 000ada7..c65013b 100644 --- a/core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h +++ b/core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h @@ -46,8 +46,7 @@ namespace DTO { class DefaultDirectoryBrowserInfoDto { -public: - DefaultDirectoryBrowserInfoDto(); +public: DefaultDirectoryBrowserInfoDto(); DefaultDirectoryBrowserInfoDto(const DefaultDirectoryBrowserInfoDto &other); /** @@ -74,8 +73,11 @@ public: protected: QString m_path; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/deviceidentification.h b/core/include/JellyfinQt/dto/deviceidentification.h index d4d0216..94c1835 100644 --- a/core/include/JellyfinQt/dto/deviceidentification.h +++ b/core/include/JellyfinQt/dto/deviceidentification.h @@ -49,8 +49,7 @@ namespace DTO { class DeviceIdentification { -public: - DeviceIdentification(); +public: DeviceIdentification(); DeviceIdentification(const DeviceIdentification &other); /** @@ -173,8 +172,11 @@ protected: QString m_manufacturer; QString m_manufacturerUrl; QList m_headers; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/deviceinfo.h b/core/include/JellyfinQt/dto/deviceinfo.h index 9ef1387..e880a95 100644 --- a/core/include/JellyfinQt/dto/deviceinfo.h +++ b/core/include/JellyfinQt/dto/deviceinfo.h @@ -50,7 +50,12 @@ namespace DTO { class DeviceInfo { public: - DeviceInfo(); + DeviceInfo( + QString lastUserId, + QDateTime dateLastActivity, + QSharedPointer capabilities + ); + DeviceInfo(const DeviceInfo &other); /** @@ -155,8 +160,13 @@ protected: QDateTime m_dateLastActivity; QSharedPointer m_capabilities = QSharedPointer(); QString m_iconUrl; + +private: + // Private constructor which generates an invalid object, for use withing DeviceInfo::fromJson(); + DeviceInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/deviceinfoqueryresult.h b/core/include/JellyfinQt/dto/deviceinfoqueryresult.h index 8c972a9..41d7797 100644 --- a/core/include/JellyfinQt/dto/deviceinfoqueryresult.h +++ b/core/include/JellyfinQt/dto/deviceinfoqueryresult.h @@ -49,7 +49,11 @@ namespace DTO { class DeviceInfoQueryResult { public: - DeviceInfoQueryResult(); + DeviceInfoQueryResult( + qint32 totalRecordCount, + qint32 startIndex + ); + DeviceInfoQueryResult(const DeviceInfoQueryResult &other); /** @@ -96,8 +100,13 @@ protected: QList m_items; qint32 m_totalRecordCount; qint32 m_startIndex; + +private: + // Private constructor which generates an invalid object, for use withing DeviceInfoQueryResult::fromJson(); + DeviceInfoQueryResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/deviceoptions.h b/core/include/JellyfinQt/dto/deviceoptions.h index ec4a302..5ac1546 100644 --- a/core/include/JellyfinQt/dto/deviceoptions.h +++ b/core/include/JellyfinQt/dto/deviceoptions.h @@ -46,8 +46,7 @@ namespace DTO { class DeviceOptions { -public: - DeviceOptions(); +public: DeviceOptions(); DeviceOptions(const DeviceOptions &other); /** @@ -70,8 +69,11 @@ public: protected: QString m_customName; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/deviceprofile.h b/core/include/JellyfinQt/dto/deviceprofile.h index 66f2c34..2013bd5 100644 --- a/core/include/JellyfinQt/dto/deviceprofile.h +++ b/core/include/JellyfinQt/dto/deviceprofile.h @@ -58,7 +58,20 @@ namespace DTO { class DeviceProfile { public: - DeviceProfile(); + DeviceProfile( + QSharedPointer identification, + bool enableAlbumArtInDidl, + bool enableSingleAlbumArtLimit, + bool enableSingleSubtitleLimit, + qint32 maxAlbumArtWidth, + qint32 maxAlbumArtHeight, + qint32 timelineOffsetSeconds, + bool requiresPlainVideoItems, + bool requiresPlainFolders, + bool enableMSMediaReceiverRegistrar, + bool ignoreTranscodeByteRangeRequests + ); + DeviceProfile(const DeviceProfile &other); /** @@ -515,8 +528,13 @@ protected: QList m_codecProfiles; QList m_responseProfiles; QList m_subtitleProfiles; + +private: + // Private constructor which generates an invalid object, for use withing DeviceProfile::fromJson(); + DeviceProfile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/deviceprofileinfo.h b/core/include/JellyfinQt/dto/deviceprofileinfo.h index f6a21be..559f46f 100644 --- a/core/include/JellyfinQt/dto/deviceprofileinfo.h +++ b/core/include/JellyfinQt/dto/deviceprofileinfo.h @@ -48,7 +48,10 @@ namespace DTO { class DeviceProfileInfo { public: - DeviceProfileInfo(); + DeviceProfileInfo( + DeviceProfileType type + ); + DeviceProfileInfo(const DeviceProfileInfo &other); /** @@ -93,8 +96,13 @@ protected: QString m_jellyfinId; QString m_name; DeviceProfileType m_type; + +private: + // Private constructor which generates an invalid object, for use withing DeviceProfileInfo::fromJson(); + DeviceProfileInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/directplayprofile.h b/core/include/JellyfinQt/dto/directplayprofile.h index 494b25f..e4b0445 100644 --- a/core/include/JellyfinQt/dto/directplayprofile.h +++ b/core/include/JellyfinQt/dto/directplayprofile.h @@ -48,7 +48,10 @@ namespace DTO { class DirectPlayProfile { public: - DirectPlayProfile(); + DirectPlayProfile( + DlnaProfileType type + ); + DirectPlayProfile(const DirectPlayProfile &other); /** @@ -93,8 +96,13 @@ protected: QString m_audioCodec; QString m_videoCodec; DlnaProfileType m_type; + +private: + // Private constructor which generates an invalid object, for use withing DirectPlayProfile::fromJson(); + DirectPlayProfile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/displaypreferencesdto.h b/core/include/JellyfinQt/dto/displaypreferencesdto.h index 8a814e9..d9ef1dc 100644 --- a/core/include/JellyfinQt/dto/displaypreferencesdto.h +++ b/core/include/JellyfinQt/dto/displaypreferencesdto.h @@ -49,7 +49,17 @@ namespace DTO { class DisplayPreferencesDto { public: - DisplayPreferencesDto(); + DisplayPreferencesDto( + bool rememberIndexing, + qint32 primaryImageHeight, + qint32 primaryImageWidth, + ScrollDirection scrollDirection, + bool showBackdrop, + bool rememberSorting, + SortOrder sortOrder, + bool showSidebar + ); + DisplayPreferencesDto(const DisplayPreferencesDto &other); /** @@ -208,8 +218,13 @@ protected: SortOrder m_sortOrder; bool m_showSidebar; QString m_client; + +private: + // Private constructor which generates an invalid object, for use withing DisplayPreferencesDto::fromJson(); + DisplayPreferencesDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/endpointinfo.h b/core/include/JellyfinQt/dto/endpointinfo.h index 9db0eb3..2a193c4 100644 --- a/core/include/JellyfinQt/dto/endpointinfo.h +++ b/core/include/JellyfinQt/dto/endpointinfo.h @@ -46,7 +46,11 @@ namespace DTO { class EndPointInfo { public: - EndPointInfo(); + EndPointInfo( + bool isLocal, + bool isInNetwork + ); + EndPointInfo(const EndPointInfo &other); /** @@ -73,8 +77,13 @@ public: protected: bool m_isLocal; bool m_isInNetwork; + +private: + // Private constructor which generates an invalid object, for use withing EndPointInfo::fromJson(); + EndPointInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/externalidinfo.h b/core/include/JellyfinQt/dto/externalidinfo.h index 5ad7f13..f620490 100644 --- a/core/include/JellyfinQt/dto/externalidinfo.h +++ b/core/include/JellyfinQt/dto/externalidinfo.h @@ -48,7 +48,10 @@ namespace DTO { class ExternalIdInfo { public: - ExternalIdInfo(); + ExternalIdInfo( + ExternalIdMediaType type + ); + ExternalIdInfo(const ExternalIdInfo &other); /** @@ -105,8 +108,13 @@ protected: QString m_key; ExternalIdMediaType m_type; QString m_urlFormatString; + +private: + // Private constructor which generates an invalid object, for use withing ExternalIdInfo::fromJson(); + ExternalIdInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/externalurl.h b/core/include/JellyfinQt/dto/externalurl.h index d9dc5c2..ca641f2 100644 --- a/core/include/JellyfinQt/dto/externalurl.h +++ b/core/include/JellyfinQt/dto/externalurl.h @@ -46,8 +46,7 @@ namespace DTO { class ExternalUrl { -public: - ExternalUrl(); +public: ExternalUrl(); ExternalUrl(const ExternalUrl &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_name; QString m_url; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/filesystementryinfo.h b/core/include/JellyfinQt/dto/filesystementryinfo.h index 3b6de62..36a2467 100644 --- a/core/include/JellyfinQt/dto/filesystementryinfo.h +++ b/core/include/JellyfinQt/dto/filesystementryinfo.h @@ -48,7 +48,10 @@ namespace DTO { class FileSystemEntryInfo { public: - FileSystemEntryInfo(); + FileSystemEntryInfo( + FileSystemEntryType type + ); + FileSystemEntryInfo(const FileSystemEntryInfo &other); /** @@ -93,8 +96,13 @@ protected: QString m_name; QString m_path; FileSystemEntryType m_type; + +private: + // Private constructor which generates an invalid object, for use withing FileSystemEntryInfo::fromJson(); + FileSystemEntryInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/fontfile.h b/core/include/JellyfinQt/dto/fontfile.h index d3085b3..441293a 100644 --- a/core/include/JellyfinQt/dto/fontfile.h +++ b/core/include/JellyfinQt/dto/fontfile.h @@ -48,7 +48,12 @@ namespace DTO { class FontFile { public: - FontFile(); + FontFile( + qint64 size, + QDateTime dateCreated, + QDateTime dateModified + ); + FontFile(const FontFile &other); /** @@ -105,8 +110,13 @@ protected: qint64 m_size; QDateTime m_dateCreated; QDateTime m_dateModified; + +private: + // Private constructor which generates an invalid object, for use withing FontFile::fromJson(); + FontFile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/forgotpassworddto.h b/core/include/JellyfinQt/dto/forgotpassworddto.h index 5754a7f..31b4737 100644 --- a/core/include/JellyfinQt/dto/forgotpassworddto.h +++ b/core/include/JellyfinQt/dto/forgotpassworddto.h @@ -47,7 +47,10 @@ namespace DTO { class ForgotPasswordDto { public: - ForgotPasswordDto(); + ForgotPasswordDto( + QString enteredUsername + ); + ForgotPasswordDto(const ForgotPasswordDto &other); /** @@ -72,8 +75,13 @@ public: protected: QString m_enteredUsername; + +private: + // Private constructor which generates an invalid object, for use withing ForgotPasswordDto::fromJson(); + ForgotPasswordDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/forgotpasswordresult.h b/core/include/JellyfinQt/dto/forgotpasswordresult.h index 4138ac0..4cd4876 100644 --- a/core/include/JellyfinQt/dto/forgotpasswordresult.h +++ b/core/include/JellyfinQt/dto/forgotpasswordresult.h @@ -49,7 +49,10 @@ namespace DTO { class ForgotPasswordResult { public: - ForgotPasswordResult(); + ForgotPasswordResult( + ForgotPasswordAction action + ); + ForgotPasswordResult(const ForgotPasswordResult &other); /** @@ -94,8 +97,13 @@ protected: ForgotPasswordAction m_action; QString m_pinFile; QDateTime m_pinExpirationDate; + +private: + // Private constructor which generates an invalid object, for use withing ForgotPasswordResult::fromJson(); + ForgotPasswordResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/generalcommand.h b/core/include/JellyfinQt/dto/generalcommand.h index 8d042ff..d4b8ca0 100644 --- a/core/include/JellyfinQt/dto/generalcommand.h +++ b/core/include/JellyfinQt/dto/generalcommand.h @@ -48,7 +48,11 @@ namespace DTO { class GeneralCommand { public: - GeneralCommand(); + GeneralCommand( + GeneralCommandType name, + QString controllingUserId + ); + GeneralCommand(const GeneralCommand &other); /** @@ -83,8 +87,13 @@ protected: GeneralCommandType m_name; QString m_controllingUserId; QJsonObject m_arguments; + +private: + // Private constructor which generates an invalid object, for use withing GeneralCommand::fromJson(); + GeneralCommand(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/getprogramsdto.h b/core/include/JellyfinQt/dto/getprogramsdto.h index 660c856..3c481b0 100644 --- a/core/include/JellyfinQt/dto/getprogramsdto.h +++ b/core/include/JellyfinQt/dto/getprogramsdto.h @@ -52,7 +52,12 @@ namespace DTO { class GetProgramsDto { public: - GetProgramsDto(); + GetProgramsDto( + QString userId, + bool enableTotalRecordCount, + QString librarySeriesId + ); + GetProgramsDto(const GetProgramsDto &other); /** @@ -427,8 +432,13 @@ protected: QString m_seriesTimerId; QString m_librarySeriesId; QList m_fields; + +private: + // Private constructor which generates an invalid object, for use withing GetProgramsDto::fromJson(); + GetProgramsDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/groupinfodto.h b/core/include/JellyfinQt/dto/groupinfodto.h index e6707ff..33414b0 100644 --- a/core/include/JellyfinQt/dto/groupinfodto.h +++ b/core/include/JellyfinQt/dto/groupinfodto.h @@ -51,7 +51,12 @@ namespace DTO { class GroupInfoDto { public: - GroupInfoDto(); + GroupInfoDto( + QString groupId, + GroupStateType state, + QDateTime lastUpdatedAt + ); + GroupInfoDto(const GroupInfoDto &other); /** @@ -116,8 +121,13 @@ protected: GroupStateType m_state; QStringList m_participants; QDateTime m_lastUpdatedAt; + +private: + // Private constructor which generates an invalid object, for use withing GroupInfoDto::fromJson(); + GroupInfoDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/guideinfo.h b/core/include/JellyfinQt/dto/guideinfo.h index 1a1b65b..38074ec 100644 --- a/core/include/JellyfinQt/dto/guideinfo.h +++ b/core/include/JellyfinQt/dto/guideinfo.h @@ -47,7 +47,11 @@ namespace DTO { class GuideInfo { public: - GuideInfo(); + GuideInfo( + QDateTime startDate, + QDateTime endDate + ); + GuideInfo(const GuideInfo &other); /** @@ -82,8 +86,13 @@ public: protected: QDateTime m_startDate; QDateTime m_endDate; + +private: + // Private constructor which generates an invalid object, for use withing GuideInfo::fromJson(); + GuideInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/httpheaderinfo.h b/core/include/JellyfinQt/dto/httpheaderinfo.h index 253d1dc..ef4afb2 100644 --- a/core/include/JellyfinQt/dto/httpheaderinfo.h +++ b/core/include/JellyfinQt/dto/httpheaderinfo.h @@ -48,7 +48,10 @@ namespace DTO { class HttpHeaderInfo { public: - HttpHeaderInfo(); + HttpHeaderInfo( + HeaderMatchType match + ); + HttpHeaderInfo(const HttpHeaderInfo &other); /** @@ -85,8 +88,13 @@ protected: QString m_name; QString m_value; HeaderMatchType m_match; + +private: + // Private constructor which generates an invalid object, for use withing HttpHeaderInfo::fromJson(); + HttpHeaderInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/ignorewaitrequestdto.h b/core/include/JellyfinQt/dto/ignorewaitrequestdto.h index df3a9e6..87cd2f6 100644 --- a/core/include/JellyfinQt/dto/ignorewaitrequestdto.h +++ b/core/include/JellyfinQt/dto/ignorewaitrequestdto.h @@ -46,7 +46,10 @@ namespace DTO { class IgnoreWaitRequestDto { public: - IgnoreWaitRequestDto(); + IgnoreWaitRequestDto( + bool ignoreWait + ); + IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other); /** @@ -71,8 +74,13 @@ public: protected: bool m_ignoreWait; + +private: + // Private constructor which generates an invalid object, for use withing IgnoreWaitRequestDto::fromJson(); + IgnoreWaitRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/imagebynameinfo.h b/core/include/JellyfinQt/dto/imagebynameinfo.h index 0866c2f..a353bfa 100644 --- a/core/include/JellyfinQt/dto/imagebynameinfo.h +++ b/core/include/JellyfinQt/dto/imagebynameinfo.h @@ -47,7 +47,10 @@ namespace DTO { class ImageByNameInfo { public: - ImageByNameInfo(); + ImageByNameInfo( + qint64 fileLength + ); + ImageByNameInfo(const ImageByNameInfo &other); /** @@ -120,8 +123,13 @@ protected: QString m_context; qint64 m_fileLength; QString m_format; + +private: + // Private constructor which generates an invalid object, for use withing ImageByNameInfo::fromJson(); + ImageByNameInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/imageinfo.h b/core/include/JellyfinQt/dto/imageinfo.h index bf43811..6bdf881 100644 --- a/core/include/JellyfinQt/dto/imageinfo.h +++ b/core/include/JellyfinQt/dto/imageinfo.h @@ -48,7 +48,11 @@ namespace DTO { class ImageInfo { public: - ImageInfo(); + ImageInfo( + ImageType imageType, + qint64 size + ); + ImageInfo(const ImageInfo &other); /** @@ -151,8 +155,13 @@ protected: std::optional m_height = std::nullopt; std::optional m_width = std::nullopt; qint64 m_size; + +private: + // Private constructor which generates an invalid object, for use withing ImageInfo::fromJson(); + ImageInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/imageoption.h b/core/include/JellyfinQt/dto/imageoption.h index 4dcf4f2..be60314 100644 --- a/core/include/JellyfinQt/dto/imageoption.h +++ b/core/include/JellyfinQt/dto/imageoption.h @@ -47,7 +47,12 @@ namespace DTO { class ImageOption { public: - ImageOption(); + ImageOption( + ImageType type, + qint32 limit, + qint32 minWidth + ); + ImageOption(const ImageOption &other); /** @@ -88,8 +93,13 @@ protected: ImageType m_type; qint32 m_limit; qint32 m_minWidth; + +private: + // Private constructor which generates an invalid object, for use withing ImageOption::fromJson(); + ImageOption(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/imageproviderinfo.h b/core/include/JellyfinQt/dto/imageproviderinfo.h index 0a30232..e64e461 100644 --- a/core/include/JellyfinQt/dto/imageproviderinfo.h +++ b/core/include/JellyfinQt/dto/imageproviderinfo.h @@ -49,8 +49,7 @@ namespace DTO { class ImageProviderInfo { -public: - ImageProviderInfo(); +public: ImageProviderInfo(); ImageProviderInfo(const ImageProviderInfo &other); /** @@ -89,8 +88,11 @@ public: protected: QString m_name; QList m_supportedImages; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/installationinfo.h b/core/include/JellyfinQt/dto/installationinfo.h index e3ffc1b..2e57415 100644 --- a/core/include/JellyfinQt/dto/installationinfo.h +++ b/core/include/JellyfinQt/dto/installationinfo.h @@ -49,7 +49,11 @@ namespace DTO { class InstallationInfo { public: - InstallationInfo(); + InstallationInfo( + QString guid, + QSharedPointer version + ); + InstallationInfo(const InstallationInfo &other); /** @@ -128,8 +132,13 @@ protected: QString m_changelog; QString m_sourceUrl; QString m_checksum; + +private: + // Private constructor which generates an invalid object, for use withing InstallationInfo::fromJson(); + InstallationInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/iplugin.h b/core/include/JellyfinQt/dto/iplugin.h index 2515d31..c9213c8 100644 --- a/core/include/JellyfinQt/dto/iplugin.h +++ b/core/include/JellyfinQt/dto/iplugin.h @@ -49,7 +49,12 @@ namespace DTO { class IPlugin { public: - IPlugin(); + IPlugin( + QString jellyfinId, + QSharedPointer version, + bool canUninstall + ); + IPlugin(const IPlugin &other); /** @@ -138,8 +143,13 @@ protected: QString m_assemblyFilePath; bool m_canUninstall; QString m_dataFolderPath; + +private: + // Private constructor which generates an invalid object, for use withing IPlugin::fromJson(); + IPlugin(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/itemcounts.h b/core/include/JellyfinQt/dto/itemcounts.h index c9f7b7e..e983547 100644 --- a/core/include/JellyfinQt/dto/itemcounts.h +++ b/core/include/JellyfinQt/dto/itemcounts.h @@ -46,7 +46,21 @@ namespace DTO { class ItemCounts { public: - ItemCounts(); + ItemCounts( + qint32 movieCount, + qint32 seriesCount, + qint32 episodeCount, + qint32 artistCount, + qint32 programCount, + qint32 trailerCount, + qint32 songCount, + qint32 albumCount, + qint32 musicVideoCount, + qint32 boxSetCount, + qint32 bookCount, + qint32 itemCount + ); + ItemCounts(const ItemCounts &other); /** @@ -181,8 +195,13 @@ protected: qint32 m_boxSetCount; qint32 m_bookCount; qint32 m_itemCount; + +private: + // Private constructor which generates an invalid object, for use withing ItemCounts::fromJson(); + ItemCounts(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/joingrouprequestdto.h b/core/include/JellyfinQt/dto/joingrouprequestdto.h index 6e69e5e..f79aeb5 100644 --- a/core/include/JellyfinQt/dto/joingrouprequestdto.h +++ b/core/include/JellyfinQt/dto/joingrouprequestdto.h @@ -47,7 +47,10 @@ namespace DTO { class JoinGroupRequestDto { public: - JoinGroupRequestDto(); + JoinGroupRequestDto( + QString groupId + ); + JoinGroupRequestDto(const JoinGroupRequestDto &other); /** @@ -72,8 +75,13 @@ public: protected: QString m_groupId; + +private: + // Private constructor which generates an invalid object, for use withing JoinGroupRequestDto::fromJson(); + JoinGroupRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/libraryoptioninfodto.h b/core/include/JellyfinQt/dto/libraryoptioninfodto.h index b7c7494..bb58a40 100644 --- a/core/include/JellyfinQt/dto/libraryoptioninfodto.h +++ b/core/include/JellyfinQt/dto/libraryoptioninfodto.h @@ -47,7 +47,10 @@ namespace DTO { class LibraryOptionInfoDto { public: - LibraryOptionInfoDto(); + LibraryOptionInfoDto( + bool defaultEnabled + ); + LibraryOptionInfoDto(const LibraryOptionInfoDto &other); /** @@ -84,8 +87,13 @@ public: protected: QString m_name; bool m_defaultEnabled; + +private: + // Private constructor which generates an invalid object, for use withing LibraryOptionInfoDto::fromJson(); + LibraryOptionInfoDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/libraryoptions.h b/core/include/JellyfinQt/dto/libraryoptions.h index a472bc9..742e0dc 100644 --- a/core/include/JellyfinQt/dto/libraryoptions.h +++ b/core/include/JellyfinQt/dto/libraryoptions.h @@ -51,7 +51,23 @@ namespace DTO { class LibraryOptions { public: - LibraryOptions(); + LibraryOptions( + bool enablePhotos, + bool enableRealtimeMonitor, + bool enableChapterImageExtraction, + bool extractChapterImagesDuringLibraryScan, + bool saveLocalMetadata, + bool enableInternetProviders, + bool enableAutomaticSeriesGrouping, + bool enableEmbeddedTitles, + bool enableEmbeddedEpisodeInfos, + qint32 automaticRefreshIntervalDays, + bool skipSubtitlesIfEmbeddedSubtitlesPresent, + bool skipSubtitlesIfAudioTrackMatches, + bool requirePerfectSubtitleMatch, + bool saveSubtitlesWithMedia + ); + LibraryOptions(const LibraryOptions &other); /** @@ -246,8 +262,13 @@ protected: bool m_requirePerfectSubtitleMatch; bool m_saveSubtitlesWithMedia; QList m_typeOptions; + +private: + // Private constructor which generates an invalid object, for use withing LibraryOptions::fromJson(); + LibraryOptions(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/libraryoptionsresultdto.h b/core/include/JellyfinQt/dto/libraryoptionsresultdto.h index 18e4830..f9eb267 100644 --- a/core/include/JellyfinQt/dto/libraryoptionsresultdto.h +++ b/core/include/JellyfinQt/dto/libraryoptionsresultdto.h @@ -49,8 +49,7 @@ namespace DTO { class LibraryOptionsResultDto { -public: - LibraryOptionsResultDto(); +public: LibraryOptionsResultDto(); LibraryOptionsResultDto(const LibraryOptionsResultDto &other); /** @@ -113,8 +112,11 @@ protected: QList m_metadataReaders; QList m_subtitleFetchers; QList m_typeOptions; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/librarytypeoptionsdto.h b/core/include/JellyfinQt/dto/librarytypeoptionsdto.h index fb0cb9f..b967971 100644 --- a/core/include/JellyfinQt/dto/librarytypeoptionsdto.h +++ b/core/include/JellyfinQt/dto/librarytypeoptionsdto.h @@ -51,8 +51,7 @@ namespace DTO { class LibraryTypeOptionsDto { -public: - LibraryTypeOptionsDto(); +public: LibraryTypeOptionsDto(); LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other); /** @@ -127,8 +126,11 @@ protected: QList m_imageFetchers; QList m_supportedImageTypes; QList m_defaultImageOptions; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/libraryupdateinfo.h b/core/include/JellyfinQt/dto/libraryupdateinfo.h index b1071a8..8b7ed71 100644 --- a/core/include/JellyfinQt/dto/libraryupdateinfo.h +++ b/core/include/JellyfinQt/dto/libraryupdateinfo.h @@ -49,7 +49,10 @@ namespace DTO { class LibraryUpdateInfo { public: - LibraryUpdateInfo(); + LibraryUpdateInfo( + bool isEmpty + ); + LibraryUpdateInfo(const LibraryUpdateInfo &other); /** @@ -138,8 +141,13 @@ protected: QStringList m_itemsUpdated; QStringList m_collectionFolders; bool m_isEmpty; + +private: + // Private constructor which generates an invalid object, for use withing LibraryUpdateInfo::fromJson(); + LibraryUpdateInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/listingsproviderinfo.h b/core/include/JellyfinQt/dto/listingsproviderinfo.h index f743a63..9b78b8c 100644 --- a/core/include/JellyfinQt/dto/listingsproviderinfo.h +++ b/core/include/JellyfinQt/dto/listingsproviderinfo.h @@ -50,7 +50,10 @@ namespace DTO { class ListingsProviderInfo { public: - ListingsProviderInfo(); + ListingsProviderInfo( + bool enableAllTuners + ); + ListingsProviderInfo(const ListingsProviderInfo &other); /** @@ -207,8 +210,13 @@ protected: QString m_moviePrefix; QString m_preferredLanguage; QString m_userAgent; + +private: + // Private constructor which generates an invalid object, for use withing ListingsProviderInfo::fromJson(); + ListingsProviderInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/livestreamresponse.h b/core/include/JellyfinQt/dto/livestreamresponse.h index c486b28..7c22a48 100644 --- a/core/include/JellyfinQt/dto/livestreamresponse.h +++ b/core/include/JellyfinQt/dto/livestreamresponse.h @@ -48,7 +48,10 @@ namespace DTO { class LiveStreamResponse { public: - LiveStreamResponse(); + LiveStreamResponse( + QSharedPointer mediaSource + ); + LiveStreamResponse(const LiveStreamResponse &other); /** @@ -69,8 +72,13 @@ public: protected: QSharedPointer m_mediaSource = QSharedPointer(); + +private: + // Private constructor which generates an invalid object, for use withing LiveStreamResponse::fromJson(); + LiveStreamResponse(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/livetvinfo.h b/core/include/JellyfinQt/dto/livetvinfo.h index 0d00fd2..5d254d0 100644 --- a/core/include/JellyfinQt/dto/livetvinfo.h +++ b/core/include/JellyfinQt/dto/livetvinfo.h @@ -49,7 +49,10 @@ namespace DTO { class LiveTvInfo { public: - LiveTvInfo(); + LiveTvInfo( + bool isEnabled + ); + LiveTvInfo(const LiveTvInfo &other); /** @@ -98,8 +101,13 @@ protected: QList m_services; bool m_isEnabled; QStringList m_enabledUsers; + +private: + // Private constructor which generates an invalid object, for use withing LiveTvInfo::fromJson(); + LiveTvInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/livetvserviceinfo.h b/core/include/JellyfinQt/dto/livetvserviceinfo.h index 7409d18..810c9ae 100644 --- a/core/include/JellyfinQt/dto/livetvserviceinfo.h +++ b/core/include/JellyfinQt/dto/livetvserviceinfo.h @@ -50,7 +50,12 @@ namespace DTO { class LiveTvServiceInfo { public: - LiveTvServiceInfo(); + LiveTvServiceInfo( + LiveTvServiceStatus status, + bool hasUpdateAvailable, + bool isVisible + ); + LiveTvServiceInfo(const LiveTvServiceInfo &other); /** @@ -147,8 +152,13 @@ protected: bool m_hasUpdateAvailable; bool m_isVisible; QStringList m_tuners; + +private: + // Private constructor which generates an invalid object, for use withing LiveTvServiceInfo::fromJson(); + LiveTvServiceInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/localizationoption.h b/core/include/JellyfinQt/dto/localizationoption.h index 8501016..a719125 100644 --- a/core/include/JellyfinQt/dto/localizationoption.h +++ b/core/include/JellyfinQt/dto/localizationoption.h @@ -46,8 +46,7 @@ namespace DTO { class LocalizationOption { -public: - LocalizationOption(); +public: LocalizationOption(); LocalizationOption(const LocalizationOption &other); /** @@ -78,8 +77,11 @@ public: protected: QString m_name; QString m_value; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/logfile.h b/core/include/JellyfinQt/dto/logfile.h index 2d993c2..ea165a1 100644 --- a/core/include/JellyfinQt/dto/logfile.h +++ b/core/include/JellyfinQt/dto/logfile.h @@ -48,7 +48,12 @@ namespace DTO { class LogFile { public: - LogFile(); + LogFile( + QDateTime dateCreated, + QDateTime dateModified, + qint64 size + ); + LogFile(const LogFile &other); /** @@ -105,8 +110,13 @@ protected: QDateTime m_dateModified; qint64 m_size; QString m_name; + +private: + // Private constructor which generates an invalid object, for use withing LogFile::fromJson(); + LogFile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediaattachment.h b/core/include/JellyfinQt/dto/mediaattachment.h index b9c7a80..526284d 100644 --- a/core/include/JellyfinQt/dto/mediaattachment.h +++ b/core/include/JellyfinQt/dto/mediaattachment.h @@ -47,7 +47,10 @@ namespace DTO { class MediaAttachment { public: - MediaAttachment(); + MediaAttachment( + qint32 index + ); + MediaAttachment(const MediaAttachment &other); /** @@ -144,8 +147,13 @@ protected: QString m_fileName; QString m_mimeType; QString m_deliveryUrl; + +private: + // Private constructor which generates an invalid object, for use withing MediaAttachment::fromJson(); + MediaAttachment(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediaencoderpathdto.h b/core/include/JellyfinQt/dto/mediaencoderpathdto.h index 329d1f5..ac43c96 100644 --- a/core/include/JellyfinQt/dto/mediaencoderpathdto.h +++ b/core/include/JellyfinQt/dto/mediaencoderpathdto.h @@ -46,8 +46,7 @@ namespace DTO { class MediaEncoderPathDto { -public: - MediaEncoderPathDto(); +public: MediaEncoderPathDto(); MediaEncoderPathDto(const MediaEncoderPathDto &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_path; QString m_pathType; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediapathdto.h b/core/include/JellyfinQt/dto/mediapathdto.h index d577462..0bc06ad 100644 --- a/core/include/JellyfinQt/dto/mediapathdto.h +++ b/core/include/JellyfinQt/dto/mediapathdto.h @@ -49,7 +49,11 @@ namespace DTO { class MediaPathDto { public: - MediaPathDto(); + MediaPathDto( + QString name, + QSharedPointer pathInfo + ); + MediaPathDto(const MediaPathDto &other); /** @@ -92,8 +96,13 @@ protected: QString m_name; QString m_path; QSharedPointer m_pathInfo = QSharedPointer(); + +private: + // Private constructor which generates an invalid object, for use withing MediaPathDto::fromJson(); + MediaPathDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediapathinfo.h b/core/include/JellyfinQt/dto/mediapathinfo.h index 31fc3a4..69175a9 100644 --- a/core/include/JellyfinQt/dto/mediapathinfo.h +++ b/core/include/JellyfinQt/dto/mediapathinfo.h @@ -46,8 +46,7 @@ namespace DTO { class MediaPathInfo { -public: - MediaPathInfo(); +public: MediaPathInfo(); MediaPathInfo(const MediaPathInfo &other); /** @@ -78,8 +77,11 @@ public: protected: QString m_path; QString m_networkPath; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediasourceinfo.h b/core/include/JellyfinQt/dto/mediasourceinfo.h index d352c99..a4990a9 100644 --- a/core/include/JellyfinQt/dto/mediasourceinfo.h +++ b/core/include/JellyfinQt/dto/mediasourceinfo.h @@ -57,7 +57,29 @@ namespace DTO { class MediaSourceInfo { public: - MediaSourceInfo(); + MediaSourceInfo( + MediaProtocol protocol, + MediaProtocol encoderProtocol, + MediaSourceType type, + bool isRemote, + bool readAtNativeFramerate, + bool ignoreDts, + bool ignoreIndex, + bool genPtsInput, + bool supportsTranscoding, + bool supportsDirectStream, + bool supportsDirectPlay, + bool isInfiniteStream, + bool requiresOpening, + bool requiresClosing, + bool requiresLooping, + bool supportsProbing, + VideoType videoType, + IsoType isoType, + Video3DFormat video3DFormat, + TransportStreamTimestamp timestamp + ); + MediaSourceInfo(const MediaSourceInfo &other); /** @@ -372,8 +394,13 @@ protected: std::optional m_analyzeDurationMs = std::nullopt; std::optional m_defaultAudioStreamIndex = std::nullopt; std::optional m_defaultSubtitleStreamIndex = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing MediaSourceInfo::fromJson(); + MediaSourceInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediastream.h b/core/include/JellyfinQt/dto/mediastream.h index 27bdfde..429f7aa 100644 --- a/core/include/JellyfinQt/dto/mediastream.h +++ b/core/include/JellyfinQt/dto/mediastream.h @@ -49,7 +49,18 @@ namespace DTO { class MediaStream { public: - MediaStream(); + MediaStream( + bool isInterlaced, + bool isDefault, + bool isForced, + MediaStreamType type, + qint32 index, + bool isExternal, + SubtitleDeliveryMethod deliveryMethod, + bool isTextSubtitleStream, + bool supportsExternalStream + ); + MediaStream(const MediaStream &other); /** @@ -574,8 +585,13 @@ protected: QString m_pixelFormat; std::optional m_level = std::nullopt; std::optional m_isAnamorphic = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing MediaStream::fromJson(); + MediaStream(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediaupdateinfodto.h b/core/include/JellyfinQt/dto/mediaupdateinfodto.h index 1bfd7a2..5e15bda 100644 --- a/core/include/JellyfinQt/dto/mediaupdateinfodto.h +++ b/core/include/JellyfinQt/dto/mediaupdateinfodto.h @@ -46,8 +46,7 @@ namespace DTO { class MediaUpdateInfoDto { -public: - MediaUpdateInfoDto(); +public: MediaUpdateInfoDto(); MediaUpdateInfoDto(const MediaUpdateInfoDto &other); /** @@ -88,8 +87,11 @@ Created, Modified, Deleted. protected: QString m_path; QString m_updateType; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/mediaurl.h b/core/include/JellyfinQt/dto/mediaurl.h index 4bbb2e5..0514c93 100644 --- a/core/include/JellyfinQt/dto/mediaurl.h +++ b/core/include/JellyfinQt/dto/mediaurl.h @@ -46,8 +46,7 @@ namespace DTO { class MediaUrl { -public: - MediaUrl(); +public: MediaUrl(); MediaUrl(const MediaUrl &other); /** @@ -78,8 +77,11 @@ public: protected: QString m_url; QString m_name; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/metadataeditorinfo.h b/core/include/JellyfinQt/dto/metadataeditorinfo.h index e4a8008..722dc05 100644 --- a/core/include/JellyfinQt/dto/metadataeditorinfo.h +++ b/core/include/JellyfinQt/dto/metadataeditorinfo.h @@ -53,8 +53,7 @@ namespace DTO { class MetadataEditorInfo { -public: - MetadataEditorInfo(); +public: MetadataEditorInfo(); MetadataEditorInfo(const MetadataEditorInfo &other); /** @@ -117,8 +116,11 @@ protected: QList m_externalIdInfos; QString m_contentType; QList m_contentTypeOptions; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/metadataoptions.h b/core/include/JellyfinQt/dto/metadataoptions.h index 0ab64fe..8ef03f8 100644 --- a/core/include/JellyfinQt/dto/metadataoptions.h +++ b/core/include/JellyfinQt/dto/metadataoptions.h @@ -48,8 +48,7 @@ namespace DTO { class MetadataOptions { -public: - MetadataOptions(); +public: MetadataOptions(); MetadataOptions(const MetadataOptions &other); /** @@ -120,8 +119,11 @@ protected: QStringList m_metadataFetcherOrder; QStringList m_disabledImageFetchers; QStringList m_imageFetcherOrder; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h b/core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h index ee55a78..43ad7d7 100644 --- a/core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h +++ b/core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h @@ -47,7 +47,11 @@ namespace DTO { class MovePlaylistItemRequestDto { public: - MovePlaylistItemRequestDto(); + MovePlaylistItemRequestDto( + QString playlistItemId, + qint32 newIndex + ); + MovePlaylistItemRequestDto(const MovePlaylistItemRequestDto &other); /** @@ -82,8 +86,13 @@ public: protected: QString m_playlistItemId; qint32 m_newIndex; + +private: + // Private constructor which generates an invalid object, for use withing MovePlaylistItemRequestDto::fromJson(); + MovePlaylistItemRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/movieinfo.h b/core/include/JellyfinQt/dto/movieinfo.h index 3ecf9d3..48149a6 100644 --- a/core/include/JellyfinQt/dto/movieinfo.h +++ b/core/include/JellyfinQt/dto/movieinfo.h @@ -48,7 +48,10 @@ namespace DTO { class MovieInfo { public: - MovieInfo(); + MovieInfo( + bool isAutomated + ); + MovieInfo(const MovieInfo &other); /** @@ -165,8 +168,13 @@ protected: std::optional m_parentIndexNumber = std::nullopt; QDateTime m_premiereDate; bool m_isAutomated; + +private: + // Private constructor which generates an invalid object, for use withing MovieInfo::fromJson(); + MovieInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/movieinforemotesearchquery.h b/core/include/JellyfinQt/dto/movieinforemotesearchquery.h index 25967e5..f4f4e7c 100644 --- a/core/include/JellyfinQt/dto/movieinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/movieinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class MovieInfoRemoteSearchQuery { public: - MovieInfoRemoteSearchQuery(); + MovieInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + MovieInfoRemoteSearchQuery(const MovieInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing MovieInfoRemoteSearchQuery::fromJson(); + MovieInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/musicvideoinfo.h b/core/include/JellyfinQt/dto/musicvideoinfo.h index 0e85b51..cb04ec3 100644 --- a/core/include/JellyfinQt/dto/musicvideoinfo.h +++ b/core/include/JellyfinQt/dto/musicvideoinfo.h @@ -50,7 +50,10 @@ namespace DTO { class MusicVideoInfo { public: - MusicVideoInfo(); + MusicVideoInfo( + bool isAutomated + ); + MusicVideoInfo(const MusicVideoInfo &other); /** @@ -175,8 +178,13 @@ protected: QDateTime m_premiereDate; bool m_isAutomated; QStringList m_artists; + +private: + // Private constructor which generates an invalid object, for use withing MusicVideoInfo::fromJson(); + MusicVideoInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h b/core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h index 9c8f8fb..3f4faa5 100644 --- a/core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class MusicVideoInfoRemoteSearchQuery { public: - MusicVideoInfoRemoteSearchQuery(); + MusicVideoInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + MusicVideoInfoRemoteSearchQuery(const MusicVideoInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing MusicVideoInfoRemoteSearchQuery::fromJson(); + MusicVideoInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/nameguidpair.h b/core/include/JellyfinQt/dto/nameguidpair.h index c3a9516..bebec1e 100644 --- a/core/include/JellyfinQt/dto/nameguidpair.h +++ b/core/include/JellyfinQt/dto/nameguidpair.h @@ -47,7 +47,10 @@ namespace DTO { class NameGuidPair { public: - NameGuidPair(); + NameGuidPair( + QString jellyfinId + ); + NameGuidPair(const NameGuidPair &other); /** @@ -76,8 +79,13 @@ public: protected: QString m_name; QString m_jellyfinId; + +private: + // Private constructor which generates an invalid object, for use withing NameGuidPair::fromJson(); + NameGuidPair(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/nameidpair.h b/core/include/JellyfinQt/dto/nameidpair.h index ff42ab4..ce11f66 100644 --- a/core/include/JellyfinQt/dto/nameidpair.h +++ b/core/include/JellyfinQt/dto/nameidpair.h @@ -46,8 +46,7 @@ namespace DTO { class NameIdPair { -public: - NameIdPair(); +public: NameIdPair(); NameIdPair(const NameIdPair &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_name; QString m_jellyfinId; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/namevaluepair.h b/core/include/JellyfinQt/dto/namevaluepair.h index d0fc2b0..652fcd7 100644 --- a/core/include/JellyfinQt/dto/namevaluepair.h +++ b/core/include/JellyfinQt/dto/namevaluepair.h @@ -46,8 +46,7 @@ namespace DTO { class NameValuePair { -public: - NameValuePair(); +public: NameValuePair(); NameValuePair(const NameValuePair &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_name; QString m_value; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/newgrouprequestdto.h b/core/include/JellyfinQt/dto/newgrouprequestdto.h index 84dc8cf..402721c 100644 --- a/core/include/JellyfinQt/dto/newgrouprequestdto.h +++ b/core/include/JellyfinQt/dto/newgrouprequestdto.h @@ -46,8 +46,7 @@ namespace DTO { class NewGroupRequestDto { -public: - NewGroupRequestDto(); +public: NewGroupRequestDto(); NewGroupRequestDto(const NewGroupRequestDto &other); /** @@ -74,8 +73,11 @@ public: protected: QString m_groupName; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/nextitemrequestdto.h b/core/include/JellyfinQt/dto/nextitemrequestdto.h index e367cec..4df2c23 100644 --- a/core/include/JellyfinQt/dto/nextitemrequestdto.h +++ b/core/include/JellyfinQt/dto/nextitemrequestdto.h @@ -47,7 +47,10 @@ namespace DTO { class NextItemRequestDto { public: - NextItemRequestDto(); + NextItemRequestDto( + QString playlistItemId + ); + NextItemRequestDto(const NextItemRequestDto &other); /** @@ -72,8 +75,13 @@ public: protected: QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing NextItemRequestDto::fromJson(); + NextItemRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/notificationdto.h b/core/include/JellyfinQt/dto/notificationdto.h index 5716b2a..9969902 100644 --- a/core/include/JellyfinQt/dto/notificationdto.h +++ b/core/include/JellyfinQt/dto/notificationdto.h @@ -49,7 +49,12 @@ namespace DTO { class NotificationDto { public: - NotificationDto(); + NotificationDto( + QDateTime date, + bool isRead, + NotificationLevel level + ); + NotificationDto(const NotificationDto &other); /** @@ -150,8 +155,13 @@ protected: QString m_description; QString m_url; NotificationLevel m_level; + +private: + // Private constructor which generates an invalid object, for use withing NotificationDto::fromJson(); + NotificationDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/notificationresultdto.h b/core/include/JellyfinQt/dto/notificationresultdto.h index d935b99..13b5a1d 100644 --- a/core/include/JellyfinQt/dto/notificationresultdto.h +++ b/core/include/JellyfinQt/dto/notificationresultdto.h @@ -49,7 +49,10 @@ namespace DTO { class NotificationResultDto { public: - NotificationResultDto(); + NotificationResultDto( + qint32 totalRecordCount + ); + NotificationResultDto(const NotificationResultDto &other); /** @@ -86,8 +89,13 @@ public: protected: QList m_notifications; qint32 m_totalRecordCount; + +private: + // Private constructor which generates an invalid object, for use withing NotificationResultDto::fromJson(); + NotificationResultDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/notificationssummarydto.h b/core/include/JellyfinQt/dto/notificationssummarydto.h index 04c986d..7b604df 100644 --- a/core/include/JellyfinQt/dto/notificationssummarydto.h +++ b/core/include/JellyfinQt/dto/notificationssummarydto.h @@ -47,7 +47,11 @@ namespace DTO { class NotificationsSummaryDto { public: - NotificationsSummaryDto(); + NotificationsSummaryDto( + qint32 unreadCount, + NotificationLevel maxUnreadNotificationLevel + ); + NotificationsSummaryDto(const NotificationsSummaryDto &other); /** @@ -78,8 +82,13 @@ public: protected: qint32 m_unreadCount; NotificationLevel m_maxUnreadNotificationLevel; + +private: + // Private constructor which generates an invalid object, for use withing NotificationsSummaryDto::fromJson(); + NotificationsSummaryDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/notificationtypeinfo.h b/core/include/JellyfinQt/dto/notificationtypeinfo.h index fa33b10..4fcf468 100644 --- a/core/include/JellyfinQt/dto/notificationtypeinfo.h +++ b/core/include/JellyfinQt/dto/notificationtypeinfo.h @@ -47,7 +47,11 @@ namespace DTO { class NotificationTypeInfo { public: - NotificationTypeInfo(); + NotificationTypeInfo( + bool enabled, + bool isBasedOnUserEvent + ); + NotificationTypeInfo(const NotificationTypeInfo &other); /** @@ -98,8 +102,13 @@ protected: bool m_enabled; QString m_category; bool m_isBasedOnUserEvent; + +private: + // Private constructor which generates an invalid object, for use withing NotificationTypeInfo::fromJson(); + NotificationTypeInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/objectgroupupdate.h b/core/include/JellyfinQt/dto/objectgroupupdate.h index 4c60987..5635b80 100644 --- a/core/include/JellyfinQt/dto/objectgroupupdate.h +++ b/core/include/JellyfinQt/dto/objectgroupupdate.h @@ -49,7 +49,12 @@ namespace DTO { class ObjectGroupUpdate { public: - ObjectGroupUpdate(); + ObjectGroupUpdate( + QString groupId, + GroupUpdateType type, + QVariant data + ); + ObjectGroupUpdate(const ObjectGroupUpdate &other); /** @@ -90,8 +95,13 @@ protected: QString m_groupId; GroupUpdateType m_type; QVariant m_data; + +private: + // Private constructor which generates an invalid object, for use withing ObjectGroupUpdate::fromJson(); + ObjectGroupUpdate(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/openlivestreamdto.h b/core/include/JellyfinQt/dto/openlivestreamdto.h index 5a08476..553c4ed 100644 --- a/core/include/JellyfinQt/dto/openlivestreamdto.h +++ b/core/include/JellyfinQt/dto/openlivestreamdto.h @@ -52,7 +52,10 @@ namespace DTO { class OpenLiveStreamDto { public: - OpenLiveStreamDto(); + OpenLiveStreamDto( + QSharedPointer deviceProfile + ); + OpenLiveStreamDto(const OpenLiveStreamDto &other); /** @@ -217,8 +220,13 @@ protected: std::optional m_enableDirectStream = std::nullopt; QSharedPointer m_deviceProfile = QSharedPointer(); QList m_directPlayProtocols; + +private: + // Private constructor which generates an invalid object, for use withing OpenLiveStreamDto::fromJson(); + OpenLiveStreamDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/packageinfo.h b/core/include/JellyfinQt/dto/packageinfo.h index 0c1771b..c30c6ee 100644 --- a/core/include/JellyfinQt/dto/packageinfo.h +++ b/core/include/JellyfinQt/dto/packageinfo.h @@ -49,8 +49,7 @@ namespace DTO { class PackageInfo { -public: - PackageInfo(); +public: PackageInfo(); PackageInfo(const PackageInfo &other); /** @@ -163,8 +162,11 @@ protected: QString m_guid; QList m_versions; QString m_imageUrl; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/parentalrating.h b/core/include/JellyfinQt/dto/parentalrating.h index 5cacee2..f096052 100644 --- a/core/include/JellyfinQt/dto/parentalrating.h +++ b/core/include/JellyfinQt/dto/parentalrating.h @@ -47,7 +47,10 @@ namespace DTO { class ParentalRating { public: - ParentalRating(); + ParentalRating( + qint32 value + ); + ParentalRating(const ParentalRating &other); /** @@ -84,8 +87,13 @@ public: protected: QString m_name; qint32 m_value; + +private: + // Private constructor which generates an invalid object, for use withing ParentalRating::fromJson(); + ParentalRating(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/pathsubstitution.h b/core/include/JellyfinQt/dto/pathsubstitution.h index 3402f67..4207569 100644 --- a/core/include/JellyfinQt/dto/pathsubstitution.h +++ b/core/include/JellyfinQt/dto/pathsubstitution.h @@ -46,8 +46,7 @@ namespace DTO { class PathSubstitution { -public: - PathSubstitution(); +public: PathSubstitution(); PathSubstitution(const PathSubstitution &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_from; QString m_to; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/personlookupinfo.h b/core/include/JellyfinQt/dto/personlookupinfo.h index 2e51c3c..926f3d2 100644 --- a/core/include/JellyfinQt/dto/personlookupinfo.h +++ b/core/include/JellyfinQt/dto/personlookupinfo.h @@ -48,7 +48,10 @@ namespace DTO { class PersonLookupInfo { public: - PersonLookupInfo(); + PersonLookupInfo( + bool isAutomated + ); + PersonLookupInfo(const PersonLookupInfo &other); /** @@ -165,8 +168,13 @@ protected: std::optional m_parentIndexNumber = std::nullopt; QDateTime m_premiereDate; bool m_isAutomated; + +private: + // Private constructor which generates an invalid object, for use withing PersonLookupInfo::fromJson(); + PersonLookupInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h b/core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h index 95a7bc9..0865fbc 100644 --- a/core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class PersonLookupInfoRemoteSearchQuery { public: - PersonLookupInfoRemoteSearchQuery(); + PersonLookupInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + PersonLookupInfoRemoteSearchQuery(const PersonLookupInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing PersonLookupInfoRemoteSearchQuery::fromJson(); + PersonLookupInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/pingrequestdto.h b/core/include/JellyfinQt/dto/pingrequestdto.h index 64f0a3b..efa40ce 100644 --- a/core/include/JellyfinQt/dto/pingrequestdto.h +++ b/core/include/JellyfinQt/dto/pingrequestdto.h @@ -46,7 +46,10 @@ namespace DTO { class PingRequestDto { public: - PingRequestDto(); + PingRequestDto( + qint64 ping + ); + PingRequestDto(const PingRequestDto &other); /** @@ -71,8 +74,13 @@ public: protected: qint64 m_ping; + +private: + // Private constructor which generates an invalid object, for use withing PingRequestDto::fromJson(); + PingRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/pinredeemresult.h b/core/include/JellyfinQt/dto/pinredeemresult.h index 64e41bd..7fc6471 100644 --- a/core/include/JellyfinQt/dto/pinredeemresult.h +++ b/core/include/JellyfinQt/dto/pinredeemresult.h @@ -49,7 +49,10 @@ namespace DTO { class PinRedeemResult { public: - PinRedeemResult(); + PinRedeemResult( + bool success + ); + PinRedeemResult(const PinRedeemResult &other); /** @@ -86,8 +89,13 @@ public: protected: bool m_success; QStringList m_usersReset; + +private: + // Private constructor which generates an invalid object, for use withing PinRedeemResult::fromJson(); + PinRedeemResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playbackinfodto.h b/core/include/JellyfinQt/dto/playbackinfodto.h index f2f5b58..18ae2b5 100644 --- a/core/include/JellyfinQt/dto/playbackinfodto.h +++ b/core/include/JellyfinQt/dto/playbackinfodto.h @@ -49,7 +49,10 @@ namespace DTO { class PlaybackInfoDto { public: - PlaybackInfoDto(); + PlaybackInfoDto( + QSharedPointer deviceProfile + ); + PlaybackInfoDto(const PlaybackInfoDto &other); /** @@ -238,8 +241,13 @@ protected: std::optional m_allowVideoStreamCopy = std::nullopt; std::optional m_allowAudioStreamCopy = std::nullopt; std::optional m_autoOpenLiveStream = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing PlaybackInfoDto::fromJson(); + PlaybackInfoDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playbackinforesponse.h b/core/include/JellyfinQt/dto/playbackinforesponse.h index 3c67b6d..06fc54e 100644 --- a/core/include/JellyfinQt/dto/playbackinforesponse.h +++ b/core/include/JellyfinQt/dto/playbackinforesponse.h @@ -51,7 +51,10 @@ namespace DTO { class PlaybackInfoResponse { public: - PlaybackInfoResponse(); + PlaybackInfoResponse( + PlaybackErrorCode errorCode + ); + PlaybackInfoResponse(const PlaybackInfoResponse &other); /** @@ -96,8 +99,13 @@ protected: QList m_mediaSources; QString m_playSessionId; PlaybackErrorCode m_errorCode; + +private: + // Private constructor which generates an invalid object, for use withing PlaybackInfoResponse::fromJson(); + PlaybackInfoResponse(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playbackprogressinfo.h b/core/include/JellyfinQt/dto/playbackprogressinfo.h index 8c9c08c..83c267e 100644 --- a/core/include/JellyfinQt/dto/playbackprogressinfo.h +++ b/core/include/JellyfinQt/dto/playbackprogressinfo.h @@ -54,7 +54,16 @@ namespace DTO { class PlaybackProgressInfo { public: - PlaybackProgressInfo(); + PlaybackProgressInfo( + bool canSeek, + QSharedPointer item, + QString itemId, + bool isPaused, + bool isMuted, + PlayMethod playMethod, + RepeatMode repeatMode + ); + PlaybackProgressInfo(const PlaybackProgressInfo &other); /** @@ -263,8 +272,13 @@ protected: RepeatMode m_repeatMode; QList m_nowPlayingQueue; QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing PlaybackProgressInfo::fromJson(); + PlaybackProgressInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playbackstartinfo.h b/core/include/JellyfinQt/dto/playbackstartinfo.h index 6fdd0a9..3441dc4 100644 --- a/core/include/JellyfinQt/dto/playbackstartinfo.h +++ b/core/include/JellyfinQt/dto/playbackstartinfo.h @@ -54,7 +54,16 @@ namespace DTO { class PlaybackStartInfo { public: - PlaybackStartInfo(); + PlaybackStartInfo( + bool canSeek, + QSharedPointer item, + QString itemId, + bool isPaused, + bool isMuted, + PlayMethod playMethod, + RepeatMode repeatMode + ); + PlaybackStartInfo(const PlaybackStartInfo &other); /** @@ -263,8 +272,13 @@ protected: RepeatMode m_repeatMode; QList m_nowPlayingQueue; QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing PlaybackStartInfo::fromJson(); + PlaybackStartInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playbackstopinfo.h b/core/include/JellyfinQt/dto/playbackstopinfo.h index bb2092f..8c8aa22 100644 --- a/core/include/JellyfinQt/dto/playbackstopinfo.h +++ b/core/include/JellyfinQt/dto/playbackstopinfo.h @@ -52,7 +52,12 @@ namespace DTO { class PlaybackStopInfo { public: - PlaybackStopInfo(); + PlaybackStopInfo( + QSharedPointer item, + QString itemId, + bool failed + ); + PlaybackStopInfo(const PlaybackStopInfo &other); /** @@ -177,8 +182,13 @@ protected: QString m_nextMediaType; QString m_playlistItemId; QList m_nowPlayingQueue; + +private: + // Private constructor which generates an invalid object, for use withing PlaybackStopInfo::fromJson(); + PlaybackStopInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playerstateinfo.h b/core/include/JellyfinQt/dto/playerstateinfo.h index 182647a..04acf42 100644 --- a/core/include/JellyfinQt/dto/playerstateinfo.h +++ b/core/include/JellyfinQt/dto/playerstateinfo.h @@ -49,7 +49,14 @@ namespace DTO { class PlayerStateInfo { public: - PlayerStateInfo(); + PlayerStateInfo( + bool canSeek, + bool isPaused, + bool isMuted, + PlayMethod playMethod, + RepeatMode repeatMode + ); + PlayerStateInfo(const PlayerStateInfo &other); /** @@ -166,8 +173,13 @@ protected: QString m_mediaSourceId; PlayMethod m_playMethod; RepeatMode m_repeatMode; + +private: + // Private constructor which generates an invalid object, for use withing PlayerStateInfo::fromJson(); + PlayerStateInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playlistcreationresult.h b/core/include/JellyfinQt/dto/playlistcreationresult.h index d2f14c2..927ee45 100644 --- a/core/include/JellyfinQt/dto/playlistcreationresult.h +++ b/core/include/JellyfinQt/dto/playlistcreationresult.h @@ -46,8 +46,7 @@ namespace DTO { class PlaylistCreationResult { -public: - PlaylistCreationResult(); +public: PlaylistCreationResult(); PlaylistCreationResult(const PlaylistCreationResult &other); /** @@ -70,8 +69,11 @@ public: protected: QString m_jellyfinId; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playrequest.h b/core/include/JellyfinQt/dto/playrequest.h index db61894..4bc088c 100644 --- a/core/include/JellyfinQt/dto/playrequest.h +++ b/core/include/JellyfinQt/dto/playrequest.h @@ -50,7 +50,11 @@ namespace DTO { class PlayRequest { public: - PlayRequest(); + PlayRequest( + PlayCommand playCommand, + QString controllingUserId + ); + PlayRequest(const PlayRequest &other); /** @@ -137,8 +141,13 @@ protected: std::optional m_audioStreamIndex = std::nullopt; QString m_mediaSourceId; std::optional m_startIndex = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing PlayRequest::fromJson(); + PlayRequest(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playrequestdto.h b/core/include/JellyfinQt/dto/playrequestdto.h index 6a77dae..9387f04 100644 --- a/core/include/JellyfinQt/dto/playrequestdto.h +++ b/core/include/JellyfinQt/dto/playrequestdto.h @@ -49,7 +49,11 @@ namespace DTO { class PlayRequestDto { public: - PlayRequestDto(); + PlayRequestDto( + qint32 playingItemPosition, + qint64 startPositionTicks + ); + PlayRequestDto(const PlayRequestDto &other); /** @@ -96,8 +100,13 @@ protected: QStringList m_playingQueue; qint32 m_playingItemPosition; qint64 m_startPositionTicks; + +private: + // Private constructor which generates an invalid object, for use withing PlayRequestDto::fromJson(); + PlayRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/playstaterequest.h b/core/include/JellyfinQt/dto/playstaterequest.h index ef03861..993d3dd 100644 --- a/core/include/JellyfinQt/dto/playstaterequest.h +++ b/core/include/JellyfinQt/dto/playstaterequest.h @@ -48,7 +48,10 @@ namespace DTO { class PlaystateRequest { public: - PlaystateRequest(); + PlaystateRequest( + PlaystateCommand command + ); + PlaystateRequest(const PlaystateRequest &other); /** @@ -89,8 +92,13 @@ protected: PlaystateCommand m_command; std::optional m_seekPositionTicks = std::nullopt; QString m_controllingUserId; + +private: + // Private constructor which generates an invalid object, for use withing PlaystateRequest::fromJson(); + PlaystateRequest(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/plugininfo.h b/core/include/JellyfinQt/dto/plugininfo.h index 26c5a98..d8aea0c 100644 --- a/core/include/JellyfinQt/dto/plugininfo.h +++ b/core/include/JellyfinQt/dto/plugininfo.h @@ -50,7 +50,14 @@ namespace DTO { class PluginInfo { public: - PluginInfo(); + PluginInfo( + QSharedPointer version, + QString jellyfinId, + bool canUninstall, + bool hasImage, + PluginStatus status + ); + PluginInfo(const PluginInfo &other); /** @@ -143,8 +150,13 @@ protected: bool m_canUninstall; bool m_hasImage; PluginStatus m_status; + +private: + // Private constructor which generates an invalid object, for use withing PluginInfo::fromJson(); + PluginInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/pluginsecurityinfo.h b/core/include/JellyfinQt/dto/pluginsecurityinfo.h index ae6488a..bb16b69 100644 --- a/core/include/JellyfinQt/dto/pluginsecurityinfo.h +++ b/core/include/JellyfinQt/dto/pluginsecurityinfo.h @@ -47,7 +47,10 @@ namespace DTO { class PluginSecurityInfo { public: - PluginSecurityInfo(); + PluginSecurityInfo( + bool isMbSupporter + ); + PluginSecurityInfo(const PluginSecurityInfo &other); /** @@ -84,8 +87,13 @@ public: protected: QString m_supporterKey; bool m_isMbSupporter; + +private: + // Private constructor which generates an invalid object, for use withing PluginSecurityInfo::fromJson(); + PluginSecurityInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/previousitemrequestdto.h b/core/include/JellyfinQt/dto/previousitemrequestdto.h index b6f5850..da3c62f 100644 --- a/core/include/JellyfinQt/dto/previousitemrequestdto.h +++ b/core/include/JellyfinQt/dto/previousitemrequestdto.h @@ -47,7 +47,10 @@ namespace DTO { class PreviousItemRequestDto { public: - PreviousItemRequestDto(); + PreviousItemRequestDto( + QString playlistItemId + ); + PreviousItemRequestDto(const PreviousItemRequestDto &other); /** @@ -72,8 +75,13 @@ public: protected: QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing PreviousItemRequestDto::fromJson(); + PreviousItemRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/problemdetails.h b/core/include/JellyfinQt/dto/problemdetails.h index e223866..504a746 100644 --- a/core/include/JellyfinQt/dto/problemdetails.h +++ b/core/include/JellyfinQt/dto/problemdetails.h @@ -46,8 +46,7 @@ namespace DTO { class ProblemDetails { -public: - ProblemDetails(); +public: ProblemDetails(); ProblemDetails(const ProblemDetails &other); /** @@ -102,8 +101,11 @@ protected: std::optional m_status = std::nullopt; QString m_detail; QString m_instance; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/profilecondition.h b/core/include/JellyfinQt/dto/profilecondition.h index 3d4c27e..a629783 100644 --- a/core/include/JellyfinQt/dto/profilecondition.h +++ b/core/include/JellyfinQt/dto/profilecondition.h @@ -49,7 +49,12 @@ namespace DTO { class ProfileCondition { public: - ProfileCondition(); + ProfileCondition( + ProfileConditionType condition, + ProfileConditionValue property, + bool isRequired + ); + ProfileCondition(const ProfileCondition &other); /** @@ -90,8 +95,13 @@ protected: ProfileConditionValue m_property; QString m_value; bool m_isRequired; + +private: + // Private constructor which generates an invalid object, for use withing ProfileCondition::fromJson(); + ProfileCondition(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/publicsysteminfo.h b/core/include/JellyfinQt/dto/publicsysteminfo.h index 94ee38c..51b546b 100644 --- a/core/include/JellyfinQt/dto/publicsysteminfo.h +++ b/core/include/JellyfinQt/dto/publicsysteminfo.h @@ -46,8 +46,7 @@ namespace DTO { class PublicSystemInfo { -public: - PublicSystemInfo(); +public: PublicSystemInfo(); PublicSystemInfo(const PublicSystemInfo &other); /** @@ -146,8 +145,11 @@ protected: QString m_operatingSystem; QString m_jellyfinId; std::optional m_startupWizardCompleted = std::nullopt; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/queryfilters.h b/core/include/JellyfinQt/dto/queryfilters.h index 641481c..4cfcdfb 100644 --- a/core/include/JellyfinQt/dto/queryfilters.h +++ b/core/include/JellyfinQt/dto/queryfilters.h @@ -48,8 +48,7 @@ namespace DTO { class QueryFilters { -public: - QueryFilters(); +public: QueryFilters(); QueryFilters(const QueryFilters &other); /** @@ -80,8 +79,11 @@ public: protected: QList m_genres; QStringList m_tags; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/queryfilterslegacy.h b/core/include/JellyfinQt/dto/queryfilterslegacy.h index 6d6df1c..01cf0fc 100644 --- a/core/include/JellyfinQt/dto/queryfilterslegacy.h +++ b/core/include/JellyfinQt/dto/queryfilterslegacy.h @@ -48,8 +48,7 @@ namespace DTO { class QueryFiltersLegacy { -public: - QueryFiltersLegacy(); +public: QueryFiltersLegacy(); QueryFiltersLegacy(const QueryFiltersLegacy &other); /** @@ -96,8 +95,11 @@ protected: QStringList m_tags; QStringList m_officialRatings; QList m_years; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/queueitem.h b/core/include/JellyfinQt/dto/queueitem.h index 4ec988e..e6d88d6 100644 --- a/core/include/JellyfinQt/dto/queueitem.h +++ b/core/include/JellyfinQt/dto/queueitem.h @@ -47,7 +47,10 @@ namespace DTO { class QueueItem { public: - QueueItem(); + QueueItem( + QString jellyfinId + ); + QueueItem(const QueueItem &other); /** @@ -76,8 +79,13 @@ public: protected: QString m_jellyfinId; QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing QueueItem::fromJson(); + QueueItem(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/queuerequestdto.h b/core/include/JellyfinQt/dto/queuerequestdto.h index 05903b6..776b8e8 100644 --- a/core/include/JellyfinQt/dto/queuerequestdto.h +++ b/core/include/JellyfinQt/dto/queuerequestdto.h @@ -50,7 +50,10 @@ namespace DTO { class QueueRequestDto { public: - QueueRequestDto(); + QueueRequestDto( + GroupQueueMode mode + ); + QueueRequestDto(const QueueRequestDto &other); /** @@ -83,8 +86,13 @@ public: protected: QStringList m_itemIds; GroupQueueMode m_mode; + +private: + // Private constructor which generates an invalid object, for use withing QueueRequestDto::fromJson(); + QueueRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/quickconnectdto.h b/core/include/JellyfinQt/dto/quickconnectdto.h index e7d68fe..9f10db0 100644 --- a/core/include/JellyfinQt/dto/quickconnectdto.h +++ b/core/include/JellyfinQt/dto/quickconnectdto.h @@ -47,7 +47,10 @@ namespace DTO { class QuickConnectDto { public: - QuickConnectDto(); + QuickConnectDto( + QString token + ); + QuickConnectDto(const QuickConnectDto &other); /** @@ -72,8 +75,13 @@ public: protected: QString m_token; + +private: + // Private constructor which generates an invalid object, for use withing QuickConnectDto::fromJson(); + QuickConnectDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/quickconnectresult.h b/core/include/JellyfinQt/dto/quickconnectresult.h index 5ba841c..b16f466 100644 --- a/core/include/JellyfinQt/dto/quickconnectresult.h +++ b/core/include/JellyfinQt/dto/quickconnectresult.h @@ -48,7 +48,10 @@ namespace DTO { class QuickConnectResult { public: - QuickConnectResult(); + QuickConnectResult( + bool authenticated + ); + QuickConnectResult(const QuickConnectResult &other); /** @@ -133,8 +136,13 @@ protected: QString m_authentication; QString m_error; QDateTime m_dateAdded; + +private: + // Private constructor which generates an invalid object, for use withing QuickConnectResult::fromJson(); + QuickConnectResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/readyrequestdto.h b/core/include/JellyfinQt/dto/readyrequestdto.h index 8480847..0f20018 100644 --- a/core/include/JellyfinQt/dto/readyrequestdto.h +++ b/core/include/JellyfinQt/dto/readyrequestdto.h @@ -48,7 +48,13 @@ namespace DTO { class ReadyRequestDto { public: - ReadyRequestDto(); + ReadyRequestDto( + QDateTime when, + qint64 positionTicks, + bool isPlaying, + QString playlistItemId + ); + ReadyRequestDto(const ReadyRequestDto &other); /** @@ -103,8 +109,13 @@ protected: qint64 m_positionTicks; bool m_isPlaying; QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing ReadyRequestDto::fromJson(); + ReadyRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/recommendationdto.h b/core/include/JellyfinQt/dto/recommendationdto.h index 6892394..fac84f1 100644 --- a/core/include/JellyfinQt/dto/recommendationdto.h +++ b/core/include/JellyfinQt/dto/recommendationdto.h @@ -51,7 +51,11 @@ namespace DTO { class RecommendationDto { public: - RecommendationDto(); + RecommendationDto( + RecommendationType recommendationType, + QString categoryId + ); + RecommendationDto(const RecommendationDto &other); /** @@ -94,8 +98,13 @@ protected: RecommendationType m_recommendationType; QString m_baselineItemName; QString m_categoryId; + +private: + // Private constructor which generates an invalid object, for use withing RecommendationDto::fromJson(); + RecommendationDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/remoteimageinfo.h b/core/include/JellyfinQt/dto/remoteimageinfo.h index 1acdf78..9c65b32 100644 --- a/core/include/JellyfinQt/dto/remoteimageinfo.h +++ b/core/include/JellyfinQt/dto/remoteimageinfo.h @@ -49,7 +49,11 @@ namespace DTO { class RemoteImageInfo { public: - RemoteImageInfo(); + RemoteImageInfo( + ImageType type, + RatingType ratingType + ); + RemoteImageInfo(const RemoteImageInfo &other); /** @@ -172,8 +176,13 @@ protected: QString m_language; ImageType m_type; RatingType m_ratingType; + +private: + // Private constructor which generates an invalid object, for use withing RemoteImageInfo::fromJson(); + RemoteImageInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/remoteimageresult.h b/core/include/JellyfinQt/dto/remoteimageresult.h index 751c91c..a077014 100644 --- a/core/include/JellyfinQt/dto/remoteimageresult.h +++ b/core/include/JellyfinQt/dto/remoteimageresult.h @@ -49,7 +49,10 @@ namespace DTO { class RemoteImageResult { public: - RemoteImageResult(); + RemoteImageResult( + qint32 totalRecordCount + ); + RemoteImageResult(const RemoteImageResult &other); /** @@ -98,8 +101,13 @@ protected: QList m_images; qint32 m_totalRecordCount; QStringList m_providers; + +private: + // Private constructor which generates an invalid object, for use withing RemoteImageResult::fromJson(); + RemoteImageResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/remotesearchresult.h b/core/include/JellyfinQt/dto/remotesearchresult.h index 09e623c..a07f514 100644 --- a/core/include/JellyfinQt/dto/remotesearchresult.h +++ b/core/include/JellyfinQt/dto/remotesearchresult.h @@ -51,7 +51,10 @@ namespace DTO { class RemoteSearchResult { public: - RemoteSearchResult(); + RemoteSearchResult( + QSharedPointer albumArtist + ); + RemoteSearchResult(const RemoteSearchResult &other); /** @@ -172,8 +175,13 @@ protected: QString m_overview; QSharedPointer m_albumArtist = QSharedPointer(); QList m_artists; + +private: + // Private constructor which generates an invalid object, for use withing RemoteSearchResult::fromJson(); + RemoteSearchResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/remotesubtitleinfo.h b/core/include/JellyfinQt/dto/remotesubtitleinfo.h index a97182a..87ba9db 100644 --- a/core/include/JellyfinQt/dto/remotesubtitleinfo.h +++ b/core/include/JellyfinQt/dto/remotesubtitleinfo.h @@ -47,8 +47,7 @@ namespace DTO { class RemoteSubtitleInfo { -public: - RemoteSubtitleInfo(); +public: RemoteSubtitleInfo(); RemoteSubtitleInfo(const RemoteSubtitleInfo &other); /** @@ -151,8 +150,11 @@ protected: std::optional m_communityRating = std::nullopt; std::optional m_downloadCount = std::nullopt; std::optional m_isHashMatch = std::nullopt; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/removefromplaylistrequestdto.h b/core/include/JellyfinQt/dto/removefromplaylistrequestdto.h index af1d8ee..6fc47c8 100644 --- a/core/include/JellyfinQt/dto/removefromplaylistrequestdto.h +++ b/core/include/JellyfinQt/dto/removefromplaylistrequestdto.h @@ -48,8 +48,7 @@ namespace DTO { class RemoveFromPlaylistRequestDto { -public: - RemoveFromPlaylistRequestDto(); +public: RemoveFromPlaylistRequestDto(); RemoveFromPlaylistRequestDto(const RemoveFromPlaylistRequestDto &other); /** @@ -76,8 +75,11 @@ public: protected: QStringList m_playlistItemIds; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/repositoryinfo.h b/core/include/JellyfinQt/dto/repositoryinfo.h index 6b8654c..a1f1651 100644 --- a/core/include/JellyfinQt/dto/repositoryinfo.h +++ b/core/include/JellyfinQt/dto/repositoryinfo.h @@ -47,7 +47,10 @@ namespace DTO { class RepositoryInfo { public: - RepositoryInfo(); + RepositoryInfo( + bool enabled + ); + RepositoryInfo(const RepositoryInfo &other); /** @@ -96,8 +99,13 @@ protected: QString m_name; QString m_url; bool m_enabled; + +private: + // Private constructor which generates an invalid object, for use withing RepositoryInfo::fromJson(); + RepositoryInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/responseprofile.h b/core/include/JellyfinQt/dto/responseprofile.h index 6f28034..46194ef 100644 --- a/core/include/JellyfinQt/dto/responseprofile.h +++ b/core/include/JellyfinQt/dto/responseprofile.h @@ -51,7 +51,10 @@ namespace DTO { class ResponseProfile { public: - ResponseProfile(); + ResponseProfile( + DlnaProfileType type + ); + ResponseProfile(const ResponseProfile &other); /** @@ -120,8 +123,13 @@ protected: QString m_orgPn; QString m_mimeType; QList m_conditions; + +private: + // Private constructor which generates an invalid object, for use withing ResponseProfile::fromJson(); + ResponseProfile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/searchhint.h b/core/include/JellyfinQt/dto/searchhint.h index 7616a4c..98330d4 100644 --- a/core/include/JellyfinQt/dto/searchhint.h +++ b/core/include/JellyfinQt/dto/searchhint.h @@ -50,7 +50,13 @@ namespace DTO { class SearchHint { public: - SearchHint(); + SearchHint( + QString itemId, + QString jellyfinId, + QString albumId, + QString channelId + ); + SearchHint(const SearchHint &other); /** @@ -381,8 +387,13 @@ protected: QString m_channelId; QString m_channelName; std::optional m_primaryImageAspectRatio = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing SearchHint::fromJson(); + SearchHint(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/searchhintresult.h b/core/include/JellyfinQt/dto/searchhintresult.h index ab16df3..08aaa81 100644 --- a/core/include/JellyfinQt/dto/searchhintresult.h +++ b/core/include/JellyfinQt/dto/searchhintresult.h @@ -49,7 +49,10 @@ namespace DTO { class SearchHintResult { public: - SearchHintResult(); + SearchHintResult( + qint32 totalRecordCount + ); + SearchHintResult(const SearchHintResult &other); /** @@ -86,8 +89,13 @@ public: protected: QList m_searchHints; qint32 m_totalRecordCount; + +private: + // Private constructor which generates an invalid object, for use withing SearchHintResult::fromJson(); + SearchHintResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/seekrequestdto.h b/core/include/JellyfinQt/dto/seekrequestdto.h index cfbbc4f..697a735 100644 --- a/core/include/JellyfinQt/dto/seekrequestdto.h +++ b/core/include/JellyfinQt/dto/seekrequestdto.h @@ -46,7 +46,10 @@ namespace DTO { class SeekRequestDto { public: - SeekRequestDto(); + SeekRequestDto( + qint64 positionTicks + ); + SeekRequestDto(const SeekRequestDto &other); /** @@ -71,8 +74,13 @@ public: protected: qint64 m_positionTicks; + +private: + // Private constructor which generates an invalid object, for use withing SeekRequestDto::fromJson(); + SeekRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/sendcommand.h b/core/include/JellyfinQt/dto/sendcommand.h index 936384d..68f471e 100644 --- a/core/include/JellyfinQt/dto/sendcommand.h +++ b/core/include/JellyfinQt/dto/sendcommand.h @@ -49,7 +49,14 @@ namespace DTO { class SendCommand { public: - SendCommand(); + SendCommand( + QString groupId, + QString playlistItemId, + QDateTime when, + SendCommandType command, + QDateTime emittedAt + ); + SendCommand(const SendCommand &other); /** @@ -122,8 +129,13 @@ protected: std::optional m_positionTicks = std::nullopt; SendCommandType m_command; QDateTime m_emittedAt; + +private: + // Private constructor which generates an invalid object, for use withing SendCommand::fromJson(); + SendCommand(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/seriesinfo.h b/core/include/JellyfinQt/dto/seriesinfo.h index 694e575..3804fd6 100644 --- a/core/include/JellyfinQt/dto/seriesinfo.h +++ b/core/include/JellyfinQt/dto/seriesinfo.h @@ -48,7 +48,10 @@ namespace DTO { class SeriesInfo { public: - SeriesInfo(); + SeriesInfo( + bool isAutomated + ); + SeriesInfo(const SeriesInfo &other); /** @@ -165,8 +168,13 @@ protected: std::optional m_parentIndexNumber = std::nullopt; QDateTime m_premiereDate; bool m_isAutomated; + +private: + // Private constructor which generates an invalid object, for use withing SeriesInfo::fromJson(); + SeriesInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/seriesinforemotesearchquery.h b/core/include/JellyfinQt/dto/seriesinforemotesearchquery.h index de4264b..8da45a5 100644 --- a/core/include/JellyfinQt/dto/seriesinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/seriesinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class SeriesInfoRemoteSearchQuery { public: - SeriesInfoRemoteSearchQuery(); + SeriesInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + SeriesInfoRemoteSearchQuery(const SeriesInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing SeriesInfoRemoteSearchQuery::fromJson(); + SeriesInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/seriestimerinfodto.h b/core/include/JellyfinQt/dto/seriestimerinfodto.h index 538683e..f209211 100644 --- a/core/include/JellyfinQt/dto/seriestimerinfodto.h +++ b/core/include/JellyfinQt/dto/seriestimerinfodto.h @@ -53,7 +53,24 @@ namespace DTO { class SeriesTimerInfoDto { public: - SeriesTimerInfoDto(); + SeriesTimerInfoDto( + QString channelId, + QDateTime startDate, + QDateTime endDate, + qint32 priority, + qint32 prePaddingSeconds, + qint32 postPaddingSeconds, + bool isPrePaddingRequired, + bool isPostPaddingRequired, + KeepUntil keepUntil, + bool recordAnyTime, + bool skipEpisodesInLibrary, + bool recordAnyChannel, + qint32 keepUpTo, + bool recordNewOnly, + DayPattern dayPattern + ); + SeriesTimerInfoDto(const SeriesTimerInfoDto &other); /** @@ -434,8 +451,13 @@ protected: QString m_parentThumbImageTag; QString m_parentPrimaryImageItemId; QString m_parentPrimaryImageTag; + +private: + // Private constructor which generates an invalid object, for use withing SeriesTimerInfoDto::fromJson(); + SeriesTimerInfoDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h b/core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h index afedd00..039cd48 100644 --- a/core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h +++ b/core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h @@ -49,7 +49,11 @@ namespace DTO { class SeriesTimerInfoDtoQueryResult { public: - SeriesTimerInfoDtoQueryResult(); + SeriesTimerInfoDtoQueryResult( + qint32 totalRecordCount, + qint32 startIndex + ); + SeriesTimerInfoDtoQueryResult(const SeriesTimerInfoDtoQueryResult &other); /** @@ -96,8 +100,13 @@ protected: QList m_items; qint32 m_totalRecordCount; qint32 m_startIndex; + +private: + // Private constructor which generates an invalid object, for use withing SeriesTimerInfoDtoQueryResult::fromJson(); + SeriesTimerInfoDtoQueryResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/serverconfiguration.h b/core/include/JellyfinQt/dto/serverconfiguration.h index b6ea8ac..33c0979 100644 --- a/core/include/JellyfinQt/dto/serverconfiguration.h +++ b/core/include/JellyfinQt/dto/serverconfiguration.h @@ -56,7 +56,63 @@ namespace DTO { class ServerConfiguration { public: - ServerConfiguration(); + ServerConfiguration( + qint32 logFileRetentionDays, + bool isStartupWizardCompleted, + QSharedPointer previousVersion, + bool enableUPnP, + bool enableMetrics, + qint32 publicPort, + bool uPnPCreateHttpPortMap, + bool enableIPV6, + bool enableIPV4, + bool enableSSDPTracing, + qint32 uDPSendCount, + qint32 uDPSendDelay, + bool ignoreVirtualInterfaces, + qint32 gatewayMonitorPeriod, + bool enableMultiSocketBinding, + bool trustAllIP6Interfaces, + bool autoDiscoveryTracing, + bool autoDiscovery, + qint32 publicHttpsPort, + qint32 httpServerPortNumber, + qint32 httpsPortNumber, + bool enableHttps, + bool enableNormalizedItemByNameIds, + bool isPortAuthorized, + bool quickConnectAvailable, + bool enableRemoteAccess, + bool enableCaseSensitiveItemIds, + bool disableLiveTvChannelUserDataName, + qint32 minResumePct, + qint32 maxResumePct, + qint32 minResumeDurationSeconds, + qint32 minAudiobookResume, + qint32 maxAudiobookResume, + qint32 libraryMonitorDelay, + bool enableDashboardResponseCaching, + ImageSavingConvention imageSavingConvention, + bool skipDeserializationForBasicTypes, + bool saveMetadataHidden, + qint32 remoteClientBitrateLimit, + bool enableFolderView, + bool enableGroupingIntoCollections, + bool displaySpecialsWithinSeasons, + bool enableExternalContentInSuggestions, + bool requireHttps, + bool enableNewOmdbSupport, + bool isRemoteIPFilterBlacklist, + qint32 imageExtractionTimeoutMs, + bool enableSimpleArtistDetection, + bool enableSlowResponseWarning, + qint64 slowResponseThresholdMs, + qint32 libraryScanFanoutConcurrency, + qint32 libraryMetadataRefreshConcurrency, + bool removeOldPlugins, + bool disablePluginImages + ); + ServerConfiguration(const ServerConfiguration &other); /** @@ -901,8 +957,13 @@ protected: qint32 m_libraryMetadataRefreshConcurrency; bool m_removeOldPlugins; bool m_disablePluginImages; + +private: + // Private constructor which generates an invalid object, for use withing ServerConfiguration::fromJson(); + ServerConfiguration(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/sessioninfo.h b/core/include/JellyfinQt/dto/sessioninfo.h index b71673a..dc350ad 100644 --- a/core/include/JellyfinQt/dto/sessioninfo.h +++ b/core/include/JellyfinQt/dto/sessioninfo.h @@ -59,7 +59,22 @@ namespace DTO { class SessionInfo { public: - SessionInfo(); + SessionInfo( + QSharedPointer playState, + QSharedPointer capabilities, + QString userId, + QDateTime lastActivityDate, + QDateTime lastPlaybackCheckIn, + QSharedPointer nowPlayingItem, + QSharedPointer fullNowPlayingItem, + QSharedPointer nowViewingItem, + QSharedPointer transcodingInfo, + bool isActive, + bool supportsMediaControl, + bool supportsRemoteControl, + bool hasCustomDeviceName + ); + SessionInfo(const SessionInfo &other); /** @@ -328,8 +343,13 @@ protected: QString m_serverId; QString m_userPrimaryImageTag; QList m_supportedCommands; + +private: + // Private constructor which generates an invalid object, for use withing SessionInfo::fromJson(); + SessionInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/sessionuserinfo.h b/core/include/JellyfinQt/dto/sessionuserinfo.h index 9084cc9..7389476 100644 --- a/core/include/JellyfinQt/dto/sessionuserinfo.h +++ b/core/include/JellyfinQt/dto/sessionuserinfo.h @@ -47,7 +47,10 @@ namespace DTO { class SessionUserInfo { public: - SessionUserInfo(); + SessionUserInfo( + QString userId + ); + SessionUserInfo(const SessionUserInfo &other); /** @@ -84,8 +87,13 @@ public: protected: QString m_userId; QString m_userName; + +private: + // Private constructor which generates an invalid object, for use withing SessionUserInfo::fromJson(); + SessionUserInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/setchannelmappingdto.h b/core/include/JellyfinQt/dto/setchannelmappingdto.h index 433bfd0..25c0849 100644 --- a/core/include/JellyfinQt/dto/setchannelmappingdto.h +++ b/core/include/JellyfinQt/dto/setchannelmappingdto.h @@ -47,7 +47,12 @@ namespace DTO { class SetChannelMappingDto { public: - SetChannelMappingDto(); + SetChannelMappingDto( + QString providerId, + QString tunerChannelId, + QString providerChannelId + ); + SetChannelMappingDto(const SetChannelMappingDto &other); /** @@ -92,8 +97,13 @@ protected: QString m_providerId; QString m_tunerChannelId; QString m_providerChannelId; + +private: + // Private constructor which generates an invalid object, for use withing SetChannelMappingDto::fromJson(); + SetChannelMappingDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/setplaylistitemrequestdto.h b/core/include/JellyfinQt/dto/setplaylistitemrequestdto.h index 2dca543..9e6c1f4 100644 --- a/core/include/JellyfinQt/dto/setplaylistitemrequestdto.h +++ b/core/include/JellyfinQt/dto/setplaylistitemrequestdto.h @@ -47,7 +47,10 @@ namespace DTO { class SetPlaylistItemRequestDto { public: - SetPlaylistItemRequestDto(); + SetPlaylistItemRequestDto( + QString playlistItemId + ); + SetPlaylistItemRequestDto(const SetPlaylistItemRequestDto &other); /** @@ -72,8 +75,13 @@ public: protected: QString m_playlistItemId; + +private: + // Private constructor which generates an invalid object, for use withing SetPlaylistItemRequestDto::fromJson(); + SetPlaylistItemRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/setrepeatmoderequestdto.h b/core/include/JellyfinQt/dto/setrepeatmoderequestdto.h index 583d6ce..f73baf3 100644 --- a/core/include/JellyfinQt/dto/setrepeatmoderequestdto.h +++ b/core/include/JellyfinQt/dto/setrepeatmoderequestdto.h @@ -47,7 +47,10 @@ namespace DTO { class SetRepeatModeRequestDto { public: - SetRepeatModeRequestDto(); + SetRepeatModeRequestDto( + GroupRepeatMode mode + ); + SetRepeatModeRequestDto(const SetRepeatModeRequestDto &other); /** @@ -68,8 +71,13 @@ public: protected: GroupRepeatMode m_mode; + +private: + // Private constructor which generates an invalid object, for use withing SetRepeatModeRequestDto::fromJson(); + SetRepeatModeRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/setshufflemoderequestdto.h b/core/include/JellyfinQt/dto/setshufflemoderequestdto.h index 7890409..dc72389 100644 --- a/core/include/JellyfinQt/dto/setshufflemoderequestdto.h +++ b/core/include/JellyfinQt/dto/setshufflemoderequestdto.h @@ -47,7 +47,10 @@ namespace DTO { class SetShuffleModeRequestDto { public: - SetShuffleModeRequestDto(); + SetShuffleModeRequestDto( + GroupShuffleMode mode + ); + SetShuffleModeRequestDto(const SetShuffleModeRequestDto &other); /** @@ -68,8 +71,13 @@ public: protected: GroupShuffleMode m_mode; + +private: + // Private constructor which generates an invalid object, for use withing SetShuffleModeRequestDto::fromJson(); + SetShuffleModeRequestDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/songinfo.h b/core/include/JellyfinQt/dto/songinfo.h index b45251b..fc10afa 100644 --- a/core/include/JellyfinQt/dto/songinfo.h +++ b/core/include/JellyfinQt/dto/songinfo.h @@ -50,7 +50,10 @@ namespace DTO { class SongInfo { public: - SongInfo(); + SongInfo( + bool isAutomated + ); + SongInfo(const SongInfo &other); /** @@ -191,8 +194,13 @@ protected: QStringList m_albumArtists; QString m_album; QStringList m_artists; + +private: + // Private constructor which generates an invalid object, for use withing SongInfo::fromJson(); + SongInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/specialviewoptiondto.h b/core/include/JellyfinQt/dto/specialviewoptiondto.h index bfede41..49f8c20 100644 --- a/core/include/JellyfinQt/dto/specialviewoptiondto.h +++ b/core/include/JellyfinQt/dto/specialviewoptiondto.h @@ -46,8 +46,7 @@ namespace DTO { class SpecialViewOptionDto { -public: - SpecialViewOptionDto(); +public: SpecialViewOptionDto(); SpecialViewOptionDto(const SpecialViewOptionDto &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_name; QString m_jellyfinId; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/startupconfigurationdto.h b/core/include/JellyfinQt/dto/startupconfigurationdto.h index b8d6de2..38a0f4e 100644 --- a/core/include/JellyfinQt/dto/startupconfigurationdto.h +++ b/core/include/JellyfinQt/dto/startupconfigurationdto.h @@ -46,8 +46,7 @@ namespace DTO { class StartupConfigurationDto { -public: - StartupConfigurationDto(); +public: StartupConfigurationDto(); StartupConfigurationDto(const StartupConfigurationDto &other); /** @@ -98,8 +97,11 @@ protected: QString m_uICulture; QString m_metadataCountryCode; QString m_preferredMetadataLanguage; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/startupremoteaccessdto.h b/core/include/JellyfinQt/dto/startupremoteaccessdto.h index 01420c8..2a0223d 100644 --- a/core/include/JellyfinQt/dto/startupremoteaccessdto.h +++ b/core/include/JellyfinQt/dto/startupremoteaccessdto.h @@ -46,7 +46,11 @@ namespace DTO { class StartupRemoteAccessDto { public: - StartupRemoteAccessDto(); + StartupRemoteAccessDto( + bool enableRemoteAccess, + bool enableAutomaticPortMapping + ); + StartupRemoteAccessDto(const StartupRemoteAccessDto &other); /** @@ -81,8 +85,13 @@ public: protected: bool m_enableRemoteAccess; bool m_enableAutomaticPortMapping; + +private: + // Private constructor which generates an invalid object, for use withing StartupRemoteAccessDto::fromJson(); + StartupRemoteAccessDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/startupuserdto.h b/core/include/JellyfinQt/dto/startupuserdto.h index 317ee43..9c5a77a 100644 --- a/core/include/JellyfinQt/dto/startupuserdto.h +++ b/core/include/JellyfinQt/dto/startupuserdto.h @@ -46,8 +46,7 @@ namespace DTO { class StartupUserDto { -public: - StartupUserDto(); +public: StartupUserDto(); StartupUserDto(const StartupUserDto &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_name; QString m_password; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/subtitleprofile.h b/core/include/JellyfinQt/dto/subtitleprofile.h index 43587b8..303dd01 100644 --- a/core/include/JellyfinQt/dto/subtitleprofile.h +++ b/core/include/JellyfinQt/dto/subtitleprofile.h @@ -48,7 +48,10 @@ namespace DTO { class SubtitleProfile { public: - SubtitleProfile(); + SubtitleProfile( + SubtitleDeliveryMethod method + ); + SubtitleProfile(const SubtitleProfile &other); /** @@ -101,8 +104,13 @@ protected: QString m_didlMode; QString m_language; QString m_container; + +private: + // Private constructor which generates an invalid object, for use withing SubtitleProfile::fromJson(); + SubtitleProfile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/systeminfo.h b/core/include/JellyfinQt/dto/systeminfo.h index 711a9a1..fb5d31e 100644 --- a/core/include/JellyfinQt/dto/systeminfo.h +++ b/core/include/JellyfinQt/dto/systeminfo.h @@ -52,7 +52,18 @@ namespace DTO { class SystemInfo { public: - SystemInfo(); + SystemInfo( + bool hasPendingRestart, + bool isShuttingDown, + bool supportsLibraryMonitor, + qint32 webSocketPortNumber, + bool canSelfRestart, + bool canLaunchWebBrowser, + bool hasUpdateAvailable, + FFmpegLocation encoderLocation, + Architecture systemArchitecture + ); + SystemInfo(const SystemInfo &other); /** @@ -345,8 +356,13 @@ protected: bool m_hasUpdateAvailable; FFmpegLocation m_encoderLocation; Architecture m_systemArchitecture; + +private: + // Private constructor which generates an invalid object, for use withing SystemInfo::fromJson(); + SystemInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/taskinfo.h b/core/include/JellyfinQt/dto/taskinfo.h index 02c5138..dde077d 100644 --- a/core/include/JellyfinQt/dto/taskinfo.h +++ b/core/include/JellyfinQt/dto/taskinfo.h @@ -53,7 +53,12 @@ namespace DTO { class TaskInfo { public: - TaskInfo(); + TaskInfo( + TaskState state, + QSharedPointer lastExecutionResult, + bool isHidden + ); + TaskInfo(const TaskInfo &other); /** @@ -174,8 +179,13 @@ protected: QString m_category; bool m_isHidden; QString m_key; + +private: + // Private constructor which generates an invalid object, for use withing TaskInfo::fromJson(); + TaskInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/taskresult.h b/core/include/JellyfinQt/dto/taskresult.h index 72d8968..d8daaff 100644 --- a/core/include/JellyfinQt/dto/taskresult.h +++ b/core/include/JellyfinQt/dto/taskresult.h @@ -49,7 +49,12 @@ namespace DTO { class TaskResult { public: - TaskResult(); + TaskResult( + QDateTime startTimeUtc, + QDateTime endTimeUtc, + TaskCompletionStatus status + ); + TaskResult(const TaskResult &other); /** @@ -150,8 +155,13 @@ protected: QString m_jellyfinId; QString m_errorMessage; QString m_longErrorMessage; + +private: + // Private constructor which generates an invalid object, for use withing TaskResult::fromJson(); + TaskResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/tasktriggerinfo.h b/core/include/JellyfinQt/dto/tasktriggerinfo.h index ca255c8..f6adafa 100644 --- a/core/include/JellyfinQt/dto/tasktriggerinfo.h +++ b/core/include/JellyfinQt/dto/tasktriggerinfo.h @@ -48,7 +48,10 @@ namespace DTO { class TaskTriggerInfo { public: - TaskTriggerInfo(); + TaskTriggerInfo( + DayOfWeek dayOfWeek + ); + TaskTriggerInfo(const TaskTriggerInfo &other); /** @@ -117,8 +120,13 @@ protected: std::optional m_intervalTicks = std::nullopt; DayOfWeek m_dayOfWeek; std::optional m_maxRuntimeTicks = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing TaskTriggerInfo::fromJson(); + TaskTriggerInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/thememediaresult.h b/core/include/JellyfinQt/dto/thememediaresult.h index 8c53115..e063c4c 100644 --- a/core/include/JellyfinQt/dto/thememediaresult.h +++ b/core/include/JellyfinQt/dto/thememediaresult.h @@ -50,7 +50,12 @@ namespace DTO { class ThemeMediaResult { public: - ThemeMediaResult(); + ThemeMediaResult( + qint32 totalRecordCount, + qint32 startIndex, + QString ownerId + ); + ThemeMediaResult(const ThemeMediaResult &other); /** @@ -107,8 +112,13 @@ protected: qint32 m_totalRecordCount; qint32 m_startIndex; QString m_ownerId; + +private: + // Private constructor which generates an invalid object, for use withing ThemeMediaResult::fromJson(); + ThemeMediaResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/timereventinfo.h b/core/include/JellyfinQt/dto/timereventinfo.h index f7a06f2..9afa5c4 100644 --- a/core/include/JellyfinQt/dto/timereventinfo.h +++ b/core/include/JellyfinQt/dto/timereventinfo.h @@ -46,8 +46,7 @@ namespace DTO { class TimerEventInfo { -public: - TimerEventInfo(); +public: TimerEventInfo(); TimerEventInfo(const TimerEventInfo &other); /** @@ -78,8 +77,11 @@ public: protected: QString m_jellyfinId; QString m_programId; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/timerinfodto.h b/core/include/JellyfinQt/dto/timerinfodto.h index 0524566..9384128 100644 --- a/core/include/JellyfinQt/dto/timerinfodto.h +++ b/core/include/JellyfinQt/dto/timerinfodto.h @@ -54,7 +54,20 @@ namespace DTO { class TimerInfoDto { public: - TimerInfoDto(); + TimerInfoDto( + QString channelId, + QDateTime startDate, + QDateTime endDate, + qint32 priority, + qint32 prePaddingSeconds, + qint32 postPaddingSeconds, + bool isPrePaddingRequired, + bool isPostPaddingRequired, + KeepUntil keepUntil, + RecordingStatus status, + QSharedPointer programInfo + ); + TimerInfoDto(const TimerInfoDto &other); /** @@ -363,8 +376,13 @@ protected: QString m_externalSeriesTimerId; std::optional m_runTimeTicks = std::nullopt; QSharedPointer m_programInfo = QSharedPointer(); + +private: + // Private constructor which generates an invalid object, for use withing TimerInfoDto::fromJson(); + TimerInfoDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/timerinfodtoqueryresult.h b/core/include/JellyfinQt/dto/timerinfodtoqueryresult.h index fe7f2de..2f17c6e 100644 --- a/core/include/JellyfinQt/dto/timerinfodtoqueryresult.h +++ b/core/include/JellyfinQt/dto/timerinfodtoqueryresult.h @@ -49,7 +49,11 @@ namespace DTO { class TimerInfoDtoQueryResult { public: - TimerInfoDtoQueryResult(); + TimerInfoDtoQueryResult( + qint32 totalRecordCount, + qint32 startIndex + ); + TimerInfoDtoQueryResult(const TimerInfoDtoQueryResult &other); /** @@ -96,8 +100,13 @@ protected: QList m_items; qint32 m_totalRecordCount; qint32 m_startIndex; + +private: + // Private constructor which generates an invalid object, for use withing TimerInfoDtoQueryResult::fromJson(); + TimerInfoDtoQueryResult(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/trailerinfo.h b/core/include/JellyfinQt/dto/trailerinfo.h index 8241b95..e58c841 100644 --- a/core/include/JellyfinQt/dto/trailerinfo.h +++ b/core/include/JellyfinQt/dto/trailerinfo.h @@ -48,7 +48,10 @@ namespace DTO { class TrailerInfo { public: - TrailerInfo(); + TrailerInfo( + bool isAutomated + ); + TrailerInfo(const TrailerInfo &other); /** @@ -165,8 +168,13 @@ protected: std::optional m_parentIndexNumber = std::nullopt; QDateTime m_premiereDate; bool m_isAutomated; + +private: + // Private constructor which generates an invalid object, for use withing TrailerInfo::fromJson(); + TrailerInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/trailerinforemotesearchquery.h b/core/include/JellyfinQt/dto/trailerinforemotesearchquery.h index 9063f75..c8d5f00 100644 --- a/core/include/JellyfinQt/dto/trailerinforemotesearchquery.h +++ b/core/include/JellyfinQt/dto/trailerinforemotesearchquery.h @@ -49,7 +49,12 @@ namespace DTO { class TrailerInfoRemoteSearchQuery { public: - TrailerInfoRemoteSearchQuery(); + TrailerInfoRemoteSearchQuery( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ); + TrailerInfoRemoteSearchQuery(const TrailerInfoRemoteSearchQuery &other); /** @@ -98,8 +103,13 @@ protected: QString m_itemId; QString m_searchProviderName; bool m_includeDisabledProviders; + +private: + // Private constructor which generates an invalid object, for use withing TrailerInfoRemoteSearchQuery::fromJson(); + TrailerInfoRemoteSearchQuery(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/transcodinginfo.h b/core/include/JellyfinQt/dto/transcodinginfo.h index ae09178..6f45e71 100644 --- a/core/include/JellyfinQt/dto/transcodinginfo.h +++ b/core/include/JellyfinQt/dto/transcodinginfo.h @@ -50,7 +50,11 @@ namespace DTO { class TranscodingInfo { public: - TranscodingInfo(); + TranscodingInfo( + bool isVideoDirect, + bool isAudioDirect + ); + TranscodingInfo(const TranscodingInfo &other); /** @@ -157,8 +161,13 @@ protected: std::optional m_height = std::nullopt; std::optional m_audioChannels = std::nullopt; QList m_transcodeReasons; + +private: + // Private constructor which generates an invalid object, for use withing TranscodingInfo::fromJson(); + TranscodingInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/transcodingprofile.h b/core/include/JellyfinQt/dto/transcodingprofile.h index 329fd26..2b1e22a 100644 --- a/core/include/JellyfinQt/dto/transcodingprofile.h +++ b/core/include/JellyfinQt/dto/transcodingprofile.h @@ -50,7 +50,19 @@ namespace DTO { class TranscodingProfile { public: - TranscodingProfile(); + TranscodingProfile( + DlnaProfileType type, + bool estimateContentLength, + bool enableMpegtsM2TsMode, + TranscodeSeekInfo transcodeSeekInfo, + bool copyTimestamps, + EncodingContext context, + bool enableSubtitlesInManifest, + qint32 minSegments, + qint32 segmentLength, + bool breakOnNonKeyFrames + ); + TranscodingProfile(const TranscodingProfile &other); /** @@ -165,8 +177,13 @@ protected: qint32 m_minSegments; qint32 m_segmentLength; bool m_breakOnNonKeyFrames; + +private: + // Private constructor which generates an invalid object, for use withing TranscodingProfile::fromJson(); + TranscodingProfile(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/tunerchannelmapping.h b/core/include/JellyfinQt/dto/tunerchannelmapping.h index 3c58b34..f163aa4 100644 --- a/core/include/JellyfinQt/dto/tunerchannelmapping.h +++ b/core/include/JellyfinQt/dto/tunerchannelmapping.h @@ -46,8 +46,7 @@ namespace DTO { class TunerChannelMapping { -public: - TunerChannelMapping(); +public: TunerChannelMapping(); TunerChannelMapping(const TunerChannelMapping &other); /** @@ -94,8 +93,11 @@ protected: QString m_providerChannelName; QString m_providerChannelId; QString m_jellyfinId; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/tunerhostinfo.h b/core/include/JellyfinQt/dto/tunerhostinfo.h index fa601e5..75bd815 100644 --- a/core/include/JellyfinQt/dto/tunerhostinfo.h +++ b/core/include/JellyfinQt/dto/tunerhostinfo.h @@ -47,7 +47,13 @@ namespace DTO { class TunerHostInfo { public: - TunerHostInfo(); + TunerHostInfo( + bool importFavoritesOnly, + bool allowHWTranscoding, + bool enableStreamLooping, + qint32 tunerCount + ); + TunerHostInfo(const TunerHostInfo &other); /** @@ -142,8 +148,13 @@ protected: QString m_source; qint32 m_tunerCount; QString m_userAgent; + +private: + // Private constructor which generates an invalid object, for use withing TunerHostInfo::fromJson(); + TunerHostInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/typeoptions.h b/core/include/JellyfinQt/dto/typeoptions.h index 7862516..b3ebfd5 100644 --- a/core/include/JellyfinQt/dto/typeoptions.h +++ b/core/include/JellyfinQt/dto/typeoptions.h @@ -49,8 +49,7 @@ namespace DTO { class TypeOptions { -public: - TypeOptions(); +public: TypeOptions(); TypeOptions(const TypeOptions &other); /** @@ -113,8 +112,11 @@ protected: QStringList m_imageFetchers; QStringList m_imageFetcherOrder; QList m_imageOptions; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/updatelibraryoptionsdto.h b/core/include/JellyfinQt/dto/updatelibraryoptionsdto.h index 67827c5..319a723 100644 --- a/core/include/JellyfinQt/dto/updatelibraryoptionsdto.h +++ b/core/include/JellyfinQt/dto/updatelibraryoptionsdto.h @@ -49,7 +49,11 @@ namespace DTO { class UpdateLibraryOptionsDto { public: - UpdateLibraryOptionsDto(); + UpdateLibraryOptionsDto( + QString jellyfinId, + QSharedPointer libraryOptions + ); + UpdateLibraryOptionsDto(const UpdateLibraryOptionsDto &other); /** @@ -80,8 +84,13 @@ public: protected: QString m_jellyfinId; QSharedPointer m_libraryOptions = QSharedPointer(); + +private: + // Private constructor which generates an invalid object, for use withing UpdateLibraryOptionsDto::fromJson(); + UpdateLibraryOptionsDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/updateusereasypassword.h b/core/include/JellyfinQt/dto/updateusereasypassword.h index fc5ba30..15ee4ae 100644 --- a/core/include/JellyfinQt/dto/updateusereasypassword.h +++ b/core/include/JellyfinQt/dto/updateusereasypassword.h @@ -47,7 +47,10 @@ namespace DTO { class UpdateUserEasyPassword { public: - UpdateUserEasyPassword(); + UpdateUserEasyPassword( + bool resetPassword + ); + UpdateUserEasyPassword(const UpdateUserEasyPassword &other); /** @@ -96,8 +99,13 @@ protected: QString m_newPassword; QString m_newPw; bool m_resetPassword; + +private: + // Private constructor which generates an invalid object, for use withing UpdateUserEasyPassword::fromJson(); + UpdateUserEasyPassword(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/updateuserpassword.h b/core/include/JellyfinQt/dto/updateuserpassword.h index 80650b7..c5623bd 100644 --- a/core/include/JellyfinQt/dto/updateuserpassword.h +++ b/core/include/JellyfinQt/dto/updateuserpassword.h @@ -47,7 +47,10 @@ namespace DTO { class UpdateUserPassword { public: - UpdateUserPassword(); + UpdateUserPassword( + bool resetPassword + ); + UpdateUserPassword(const UpdateUserPassword &other); /** @@ -108,8 +111,13 @@ protected: QString m_currentPw; QString m_newPw; bool m_resetPassword; + +private: + // Private constructor which generates an invalid object, for use withing UpdateUserPassword::fromJson(); + UpdateUserPassword(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/uploadsubtitledto.h b/core/include/JellyfinQt/dto/uploadsubtitledto.h index 021b173..d8a47f4 100644 --- a/core/include/JellyfinQt/dto/uploadsubtitledto.h +++ b/core/include/JellyfinQt/dto/uploadsubtitledto.h @@ -47,7 +47,13 @@ namespace DTO { class UploadSubtitleDto { public: - UploadSubtitleDto(); + UploadSubtitleDto( + QString language, + QString format, + bool isForced, + QString data + ); + UploadSubtitleDto(const UploadSubtitleDto &other); /** @@ -102,8 +108,13 @@ protected: QString m_format; bool m_isForced; QString m_data; + +private: + // Private constructor which generates an invalid object, for use withing UploadSubtitleDto::fromJson(); + UploadSubtitleDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/userconfiguration.h b/core/include/JellyfinQt/dto/userconfiguration.h index 91f087e..b2c8b85 100644 --- a/core/include/JellyfinQt/dto/userconfiguration.h +++ b/core/include/JellyfinQt/dto/userconfiguration.h @@ -50,7 +50,18 @@ namespace DTO { class UserConfiguration { public: - UserConfiguration(); + UserConfiguration( + bool playDefaultAudioTrack, + bool displayMissingEpisodes, + SubtitlePlaybackMode subtitleMode, + bool displayCollectionsView, + bool enableLocalPassword, + bool hidePlayedInLatest, + bool rememberAudioSelections, + bool rememberSubtitleSelections, + bool enableNextEpisodeAutoPlay + ); + UserConfiguration(const UserConfiguration &other); /** @@ -179,8 +190,13 @@ protected: bool m_rememberAudioSelections; bool m_rememberSubtitleSelections; bool m_enableNextEpisodeAutoPlay; + +private: + // Private constructor which generates an invalid object, for use withing UserConfiguration::fromJson(); + UserConfiguration(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/userdto.h b/core/include/JellyfinQt/dto/userdto.h index 640470d..250115a 100644 --- a/core/include/JellyfinQt/dto/userdto.h +++ b/core/include/JellyfinQt/dto/userdto.h @@ -51,7 +51,15 @@ namespace DTO { class UserDto { public: - UserDto(); + UserDto( + QString jellyfinId, + bool hasPassword, + bool hasConfiguredPassword, + bool hasConfiguredEasyPassword, + QSharedPointer configuration, + QSharedPointer policy + ); + UserDto(const UserDto &other); /** @@ -216,8 +224,13 @@ protected: QSharedPointer m_configuration = QSharedPointer(); QSharedPointer m_policy = QSharedPointer(); std::optional m_primaryImageAspectRatio = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing UserDto::fromJson(); + UserDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/useritemdatadto.h b/core/include/JellyfinQt/dto/useritemdatadto.h index 5c135aa..3f3a933 100644 --- a/core/include/JellyfinQt/dto/useritemdatadto.h +++ b/core/include/JellyfinQt/dto/useritemdatadto.h @@ -48,7 +48,13 @@ namespace DTO { class UserItemDataDto { public: - UserItemDataDto(); + UserItemDataDto( + qint64 playbackPositionTicks, + qint32 playCount, + bool isFavorite, + bool played + ); + UserItemDataDto(const UserItemDataDto &other); /** @@ -187,8 +193,13 @@ protected: bool m_played; QString m_key; QString m_itemId; + +private: + // Private constructor which generates an invalid object, for use withing UserItemDataDto::fromJson(); + UserItemDataDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/userpolicy.h b/core/include/JellyfinQt/dto/userpolicy.h index 6f2ad9e..e7218ca 100644 --- a/core/include/JellyfinQt/dto/userpolicy.h +++ b/core/include/JellyfinQt/dto/userpolicy.h @@ -52,7 +52,36 @@ namespace DTO { class UserPolicy { public: - UserPolicy(); + UserPolicy( + bool isAdministrator, + bool isHidden, + bool isDisabled, + bool enableUserPreferenceAccess, + bool enableRemoteControlOfOtherUsers, + bool enableSharedDeviceControl, + bool enableRemoteAccess, + bool enableLiveTvManagement, + bool enableLiveTvAccess, + bool enableMediaPlayback, + bool enableAudioPlaybackTranscoding, + bool enableVideoPlaybackTranscoding, + bool enablePlaybackRemuxing, + bool forceRemoteSourceTranscoding, + bool enableContentDeletion, + bool enableContentDownloading, + bool enableSyncTranscoding, + bool enableMediaConversion, + bool enableAllDevices, + bool enableAllChannels, + bool enableAllFolders, + qint32 invalidLoginAttemptCount, + qint32 loginAttemptsBeforeLockout, + qint32 maxActiveSessions, + bool enablePublicSharing, + qint32 remoteClientBitrateLimit, + SyncPlayUserAccessType syncPlayAccess + ); + UserPolicy(const UserPolicy &other); /** @@ -345,8 +374,13 @@ protected: QString m_authenticationProviderId; QString m_passwordResetProviderId; SyncPlayUserAccessType m_syncPlayAccess; + +private: + // Private constructor which generates an invalid object, for use withing UserPolicy::fromJson(); + UserPolicy(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/utctimeresponse.h b/core/include/JellyfinQt/dto/utctimeresponse.h index 7bbe5e2..9764321 100644 --- a/core/include/JellyfinQt/dto/utctimeresponse.h +++ b/core/include/JellyfinQt/dto/utctimeresponse.h @@ -47,7 +47,11 @@ namespace DTO { class UtcTimeResponse { public: - UtcTimeResponse(); + UtcTimeResponse( + QDateTime requestReceptionTime, + QDateTime responseTransmissionTime + ); + UtcTimeResponse(const UtcTimeResponse &other); /** @@ -82,8 +86,13 @@ public: protected: QDateTime m_requestReceptionTime; QDateTime m_responseTransmissionTime; + +private: + // Private constructor which generates an invalid object, for use withing UtcTimeResponse::fromJson(); + UtcTimeResponse(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/validatepathdto.h b/core/include/JellyfinQt/dto/validatepathdto.h index 9345d6e..9c1173c 100644 --- a/core/include/JellyfinQt/dto/validatepathdto.h +++ b/core/include/JellyfinQt/dto/validatepathdto.h @@ -47,7 +47,10 @@ namespace DTO { class ValidatePathDto { public: - ValidatePathDto(); + ValidatePathDto( + bool validateWritable + ); + ValidatePathDto(const ValidatePathDto &other); /** @@ -96,8 +99,13 @@ protected: bool m_validateWritable; QString m_path; std::optional m_isFile = std::nullopt; + +private: + // Private constructor which generates an invalid object, for use withing ValidatePathDto::fromJson(); + ValidatePathDto(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/version.h b/core/include/JellyfinQt/dto/version.h index a0d6917..eac278d 100644 --- a/core/include/JellyfinQt/dto/version.h +++ b/core/include/JellyfinQt/dto/version.h @@ -46,7 +46,15 @@ namespace DTO { class Version { public: - Version(); + Version( + qint32 major, + qint32 minor, + qint32 build, + qint32 revision, + qint32 majorRevision, + qint32 minorRevision + ); + Version(const Version &other); /** @@ -97,8 +105,13 @@ protected: qint32 m_revision; qint32 m_majorRevision; qint32 m_minorRevision; + +private: + // Private constructor which generates an invalid object, for use withing Version::fromJson(); + Version(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/versioninfo.h b/core/include/JellyfinQt/dto/versioninfo.h index ca8de47..392f62c 100644 --- a/core/include/JellyfinQt/dto/versioninfo.h +++ b/core/include/JellyfinQt/dto/versioninfo.h @@ -49,7 +49,10 @@ namespace DTO { class VersionInfo { public: - VersionInfo(); + VersionInfo( + QSharedPointer versionNumber + ); + VersionInfo(const VersionInfo &other); /** @@ -166,8 +169,13 @@ protected: QString m_timestamp; QString m_repositoryName; QString m_repositoryUrl; + +private: + // Private constructor which generates an invalid object, for use withing VersionInfo::fromJson(); + VersionInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/virtualfolderinfo.h b/core/include/JellyfinQt/dto/virtualfolderinfo.h index 5ab7eab..f45fa6f 100644 --- a/core/include/JellyfinQt/dto/virtualfolderinfo.h +++ b/core/include/JellyfinQt/dto/virtualfolderinfo.h @@ -51,7 +51,10 @@ namespace DTO { class VirtualFolderInfo { public: - VirtualFolderInfo(); + VirtualFolderInfo( + QSharedPointer libraryOptions + ); + VirtualFolderInfo(const VirtualFolderInfo &other); /** @@ -148,8 +151,13 @@ protected: QString m_primaryImageItemId; std::optional m_refreshProgress = std::nullopt; QString m_refreshStatus; + +private: + // Private constructor which generates an invalid object, for use withing VirtualFolderInfo::fromJson(); + VirtualFolderInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/wakeonlaninfo.h b/core/include/JellyfinQt/dto/wakeonlaninfo.h index b0c9bdf..f6544f4 100644 --- a/core/include/JellyfinQt/dto/wakeonlaninfo.h +++ b/core/include/JellyfinQt/dto/wakeonlaninfo.h @@ -47,7 +47,10 @@ namespace DTO { class WakeOnLanInfo { public: - WakeOnLanInfo(); + WakeOnLanInfo( + qint32 port + ); + WakeOnLanInfo(const WakeOnLanInfo &other); /** @@ -84,8 +87,13 @@ public: protected: QString m_macAddress; qint32 m_port; + +private: + // Private constructor which generates an invalid object, for use withing WakeOnLanInfo::fromJson(); + WakeOnLanInfo(); }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/dto/xmlattribute.h b/core/include/JellyfinQt/dto/xmlattribute.h index fb0ad66..6becfe9 100644 --- a/core/include/JellyfinQt/dto/xmlattribute.h +++ b/core/include/JellyfinQt/dto/xmlattribute.h @@ -46,8 +46,7 @@ namespace DTO { class XmlAttribute { -public: - XmlAttribute(); +public: XmlAttribute(); XmlAttribute(const XmlAttribute &other); /** @@ -86,8 +85,11 @@ public: protected: QString m_name; QString m_value; + + }; + } // NS DTO namespace Support { diff --git a/core/include/JellyfinQt/model/item.h b/core/include/JellyfinQt/model/item.h index 9206877..0a20e11 100644 --- a/core/include/JellyfinQt/model/item.h +++ b/core/include/JellyfinQt/model/item.h @@ -40,8 +40,13 @@ public: using BaseItemDto::userData; /** * @brief Constructor that creates an empty item. + * + Item(QObject *parent = nullptr);*/ + + /** + * Creates an "empty" item */ - Item(QObject *parent = nullptr); + Item(ApiClient *apiClient = nullptr, QObject *parent = nullptr); /** * @brief Copies the data from the DTO into this model and attaches an ApiClient diff --git a/core/include/JellyfinQt/model/user.h b/core/include/JellyfinQt/model/user.h index 32cf8d7..3739ebe 100644 --- a/core/include/JellyfinQt/model/user.h +++ b/core/include/JellyfinQt/model/user.h @@ -27,7 +27,8 @@ namespace Model { class User : public DTO::UserDto { public: - User(); + // Default empty constructor + User(ApiClient *apiClient = nullptr); User(const DTO::UserDto &data, ApiClient *apiClient = nullptr); bool sameAs(const DTO::UserDto &other); diff --git a/core/include/JellyfinQt/support/loader.h b/core/include/JellyfinQt/support/loader.h index 157e703..b6853d1 100644 --- a/core/include/JellyfinQt/support/loader.h +++ b/core/include/JellyfinQt/support/loader.h @@ -105,9 +105,14 @@ public: /** * @brief Retrieves the loaded resource. Only valid after the ready signal has been emitted. - * @return The loaded resource + * + * @return The loaded resource. */ R result() const { + return m_result.value(); + } + + bool hasResult() const { return m_result; } @@ -130,11 +135,21 @@ public: virtual bool isAvailable() const { return false; }; void setApiClient(ApiClient *newApiClient) { m_apiClient = newApiClient; } ApiClient *apiClient() const { return m_apiClient; } - void setParameters(const P ¶meters) { m_parameters = parameters; } + + /** + * @brief Sets the parameters for this loader. + * @param parameters The parameters to set + * + * This method will copy the parameters. The parameters must have a + * copy constructor. + */ + void setParameters(const P ¶meters) { + m_parameters = parameters; + } protected: Jellyfin::ApiClient *m_apiClient; - P m_parameters; - R m_result; + std::optional

m_parameters; + std::optional m_result; bool m_isRunning = false; void stopWithError(QString message = QString()) { @@ -158,13 +173,16 @@ public: if (m_reply != nullptr) { this->m_reply->deleteLater(); } + if (!this->m_parameters) { + this->stopWithError("No parameters set"); + } this->m_isRunning = true; switch(operation()) { case QNetworkAccessManager::GetOperation: - m_reply = this->m_apiClient->get(path(this->m_parameters), query(this->m_parameters)); + m_reply = this->m_apiClient->get(path(this->m_parameters.value()), query(this->m_parameters.value())); break; case QNetworkAccessManager::PostOperation: - m_reply = this->m_apiClient->post(path(this->m_parameters), body(this->m_parameters), query(this->m_parameters)); + m_reply = this->m_apiClient->post(path(this->m_parameters.value()), body(this->m_parameters.value()), query(this->m_parameters.value())); break; default: this->stopWithError(QStringLiteral("Unsupported network okperation %1").arg(operation())); diff --git a/core/openapigenerator.d b/core/openapigenerator.d index 572ac9d..34861c5 100755 --- a/core/openapigenerator.d +++ b/core/openapigenerator.d @@ -625,6 +625,13 @@ void generateFileForSchema(ref const string name, ref const Node scheme, Node al foreach (type; usedTypes) { collectImports(type); } + + foreach (ref type; usedTypes.retro) { + if (type.isNotNullable) { + type.isLastNonNullable = true; + break; + } + } // Sort them for nicer reading string[] sortedSystemImports = sort(systemImports[]).array; @@ -817,11 +824,13 @@ void writeObjectHeader(File output, string name, MetaTypeInfo[] properties, stri MetaTypeInfo[] properties; string[] userImports; string supportNamespace = namespaceString!CPP_NAMESPACE_SUPPORT; + bool hasRequiredProperties; } Controller controller = new Controller(); controller.className = name.applyCasePolicy(OPENAPI_CASING, CPP_CLASS_CASING); controller.properties = properties; controller.userImports = userImports; + controller.hasRequiredProperties = properties.canFind!((x) => !x.isNullable); output.writeln(render!(import("object_header.hbs"), Controller)(controller)); @@ -833,10 +842,13 @@ void writeObjectImplementation(File output, string name, MetaTypeInfo[] properti string className; MetaTypeInfo[] properties; string supportNamespace = namespaceString!CPP_NAMESPACE_SUPPORT; + bool hasRequiredProperties; } Controller controller = new Controller(); controller.className = name.applyCasePolicy(OPENAPI_CASING, CPP_CLASS_CASING); controller.properties = properties; + controller.hasRequiredProperties = properties.canFind!((x) => !x.isNullable); + output.writeln(render!(import("object_implementation.hbs"), Controller)(controller)); } @@ -1019,21 +1031,22 @@ public: /// For use in templating bool isLast = false; + bool isLastNonNullable = false; string defaultValue = ""; - bool hasDefaultValue() { + bool hasDefaultValue() const { return defaultValue.length > 0; } - string writeName() { + string writeName() const { return name.applyCasePolicy(CPP_CLASS_MEMBER_CASING, CasePolicy.PASCAL); } - string memberName() { + string memberName() const { return CPP_CLASS_MEMBER_PREFIX ~ name; } - string typeNameWithQualifiers() { + string typeNameWithQualifiers() const { if (needsPointer) { return "QSharedPointer<" ~ typeName ~ ">"; } @@ -1044,12 +1057,12 @@ public: } } - bool needsOptional() { + bool needsOptional() const { return (isNullable || hasDefaultValue) && !isTypeNullable; } string typeNullableCheck; - string nullableCheck() { + string nullableCheck() const { if (needsOptional) { return "!" ~ memberName ~ ".has_value()"; } else if (typeNullableCheck.length > 0) { @@ -1060,18 +1073,20 @@ public: } string typeNullableSetter = ""; - string nullableSetter() { + string nullableSetter() const { if (needsOptional) { return " = std::nullopt"; } return typeNullableSetter; } - string defaultInitializer() { + string defaultInitializer() const { if (needsPointer) return "QSharedPointer<" ~ typeName ~ ">()"; if (needsOptional) return "std::nullopt"; return ""; } + + bool isNotNullable() const { return !isNullable; } string fileName (){ return typeName.applyCasePolicy(CasePolicy.PASCAL, CasePolicy.LOWER) ~ ".h"; diff --git a/core/src/dto/accessschedule.cpp b/core/src/dto/accessschedule.cpp index c66afbd..1915ffe 100644 --- a/core/src/dto/accessschedule.cpp +++ b/core/src/dto/accessschedule.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { AccessSchedule::AccessSchedule() {} +AccessSchedule::AccessSchedule ( + qint32 jellyfinId, + QString userId, + DynamicDayOfWeek dayOfWeek, + double startHour, + double endHour + ) : + m_jellyfinId(jellyfinId), + m_userId(userId), + m_dayOfWeek(dayOfWeek), + m_startHour(startHour), + m_endHour(endHour) { } + + AccessSchedule::AccessSchedule(const AccessSchedule &other) : diff --git a/core/src/dto/activitylogentry.cpp b/core/src/dto/activitylogentry.cpp index 49a8e8e..ba9f0db 100644 --- a/core/src/dto/activitylogentry.cpp +++ b/core/src/dto/activitylogentry.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { ActivityLogEntry::ActivityLogEntry() {} +ActivityLogEntry::ActivityLogEntry ( + qint64 jellyfinId, + QDateTime date, + QString userId, + LogLevel severity + ) : + m_jellyfinId(jellyfinId), + m_date(date), + m_userId(userId), + m_severity(severity) { } + + ActivityLogEntry::ActivityLogEntry(const ActivityLogEntry &other) : diff --git a/core/src/dto/activitylogentryqueryresult.cpp b/core/src/dto/activitylogentryqueryresult.cpp index c85917b..9132b74 100644 --- a/core/src/dto/activitylogentryqueryresult.cpp +++ b/core/src/dto/activitylogentryqueryresult.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { ActivityLogEntryQueryResult::ActivityLogEntryQueryResult() {} +ActivityLogEntryQueryResult::ActivityLogEntryQueryResult ( + qint32 totalRecordCount, + qint32 startIndex + ) : + m_totalRecordCount(totalRecordCount), + m_startIndex(startIndex) { } + + ActivityLogEntryQueryResult::ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other) : diff --git a/core/src/dto/addvirtualfolderdto.cpp b/core/src/dto/addvirtualfolderdto.cpp index 0c756ab..c86f23e 100644 --- a/core/src/dto/addvirtualfolderdto.cpp +++ b/core/src/dto/addvirtualfolderdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { AddVirtualFolderDto::AddVirtualFolderDto() {} +AddVirtualFolderDto::AddVirtualFolderDto ( + QSharedPointer libraryOptions + ) : + m_libraryOptions(libraryOptions) { } + + AddVirtualFolderDto::AddVirtualFolderDto(const AddVirtualFolderDto &other) : diff --git a/core/src/dto/albuminfo.cpp b/core/src/dto/albuminfo.cpp index 9ac3916..2c0aa86 100644 --- a/core/src/dto/albuminfo.cpp +++ b/core/src/dto/albuminfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { AlbumInfo::AlbumInfo() {} +AlbumInfo::AlbumInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + AlbumInfo::AlbumInfo(const AlbumInfo &other) : diff --git a/core/src/dto/albuminforemotesearchquery.cpp b/core/src/dto/albuminforemotesearchquery.cpp index 650a3d9..5630c67 100644 --- a/core/src/dto/albuminforemotesearchquery.cpp +++ b/core/src/dto/albuminforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery() {} +AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/allthememediaresult.cpp b/core/src/dto/allthememediaresult.cpp index 7358fc2..c386968 100644 --- a/core/src/dto/allthememediaresult.cpp +++ b/core/src/dto/allthememediaresult.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { AllThemeMediaResult::AllThemeMediaResult() {} +AllThemeMediaResult::AllThemeMediaResult ( + QSharedPointer themeVideosResult, + QSharedPointer themeSongsResult, + QSharedPointer soundtrackSongsResult + ) : + m_themeVideosResult(themeVideosResult), + m_themeSongsResult(themeSongsResult), + m_soundtrackSongsResult(soundtrackSongsResult) { } + + AllThemeMediaResult::AllThemeMediaResult(const AllThemeMediaResult &other) : diff --git a/core/src/dto/artistinfo.cpp b/core/src/dto/artistinfo.cpp index 008042c..d628873 100644 --- a/core/src/dto/artistinfo.cpp +++ b/core/src/dto/artistinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ArtistInfo::ArtistInfo() {} +ArtistInfo::ArtistInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + ArtistInfo::ArtistInfo(const ArtistInfo &other) : diff --git a/core/src/dto/artistinforemotesearchquery.cpp b/core/src/dto/artistinforemotesearchquery.cpp index 3ffa2a0..0b4cfdd 100644 --- a/core/src/dto/artistinforemotesearchquery.cpp +++ b/core/src/dto/artistinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery() {} +ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/authenticationinfo.cpp b/core/src/dto/authenticationinfo.cpp index 1ff4977..f072606 100644 --- a/core/src/dto/authenticationinfo.cpp +++ b/core/src/dto/authenticationinfo.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { AuthenticationInfo::AuthenticationInfo() {} +AuthenticationInfo::AuthenticationInfo ( + qint64 jellyfinId, + QString userId, + bool isActive, + QDateTime dateCreated, + QDateTime dateLastActivity + ) : + m_jellyfinId(jellyfinId), + m_userId(userId), + m_isActive(isActive), + m_dateCreated(dateCreated), + m_dateLastActivity(dateLastActivity) { } + + AuthenticationInfo::AuthenticationInfo(const AuthenticationInfo &other) : diff --git a/core/src/dto/authenticationinfoqueryresult.cpp b/core/src/dto/authenticationinfoqueryresult.cpp index beff870..e3df55f 100644 --- a/core/src/dto/authenticationinfoqueryresult.cpp +++ b/core/src/dto/authenticationinfoqueryresult.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { AuthenticationInfoQueryResult::AuthenticationInfoQueryResult() {} +AuthenticationInfoQueryResult::AuthenticationInfoQueryResult ( + qint32 totalRecordCount, + qint32 startIndex + ) : + m_totalRecordCount(totalRecordCount), + m_startIndex(startIndex) { } + + AuthenticationInfoQueryResult::AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other) : diff --git a/core/src/dto/authenticationresult.cpp b/core/src/dto/authenticationresult.cpp index eb4678d..7924caf 100644 --- a/core/src/dto/authenticationresult.cpp +++ b/core/src/dto/authenticationresult.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { AuthenticationResult::AuthenticationResult() {} +AuthenticationResult::AuthenticationResult ( + QSharedPointer user, + QSharedPointer sessionInfo + ) : + m_user(user), + m_sessionInfo(sessionInfo) { } + + AuthenticationResult::AuthenticationResult(const AuthenticationResult &other) : diff --git a/core/src/dto/baseitem.cpp b/core/src/dto/baseitem.cpp index 3f97767..d322f8c 100644 --- a/core/src/dto/baseitem.cpp +++ b/core/src/dto/baseitem.cpp @@ -33,6 +33,22 @@ namespace Jellyfin { namespace DTO { BaseItem::BaseItem() {} +BaseItem::BaseItem ( + QDateTime dateLastSaved, + bool isHD, + bool isShortcut, + qint32 width, + qint32 height, + bool supportsExternalTransfer + ) : + m_dateLastSaved(dateLastSaved), + m_isHD(isHD), + m_isShortcut(isShortcut), + m_width(width), + m_height(height), + m_supportsExternalTransfer(supportsExternalTransfer) { } + + BaseItem::BaseItem(const BaseItem &other) : diff --git a/core/src/dto/baseitemdto.cpp b/core/src/dto/baseitemdto.cpp index 49008cf..de284dd 100644 --- a/core/src/dto/baseitemdto.cpp +++ b/core/src/dto/baseitemdto.cpp @@ -33,6 +33,32 @@ namespace Jellyfin { namespace DTO { BaseItemDto::BaseItemDto() {} +BaseItemDto::BaseItemDto ( + QString jellyfinId, + Video3DFormat video3DFormat, + PlayAccess playAccess, + QSharedPointer userData, + VideoType videoType, + LocationType locationType, + IsoType isoType, + ImageOrientation imageOrientation, + ChannelType channelType, + ProgramAudio audio, + QSharedPointer currentProgram + ) : + m_jellyfinId(jellyfinId), + m_video3DFormat(video3DFormat), + m_playAccess(playAccess), + m_userData(userData), + m_videoType(videoType), + m_locationType(locationType), + m_isoType(isoType), + m_imageOrientation(imageOrientation), + m_channelType(channelType), + m_audio(audio), + m_currentProgram(currentProgram) { } + + BaseItemDto::BaseItemDto(const BaseItemDto &other) : diff --git a/core/src/dto/baseitemdtoqueryresult.cpp b/core/src/dto/baseitemdtoqueryresult.cpp index 9919a87..336a110 100644 --- a/core/src/dto/baseitemdtoqueryresult.cpp +++ b/core/src/dto/baseitemdtoqueryresult.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { BaseItemDtoQueryResult::BaseItemDtoQueryResult() {} +BaseItemDtoQueryResult::BaseItemDtoQueryResult ( + qint32 totalRecordCount, + qint32 startIndex + ) : + m_totalRecordCount(totalRecordCount), + m_startIndex(startIndex) { } + + BaseItemDtoQueryResult::BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other) : diff --git a/core/src/dto/bookinfo.cpp b/core/src/dto/bookinfo.cpp index ddd9e20..9f66d08 100644 --- a/core/src/dto/bookinfo.cpp +++ b/core/src/dto/bookinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { BookInfo::BookInfo() {} +BookInfo::BookInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + BookInfo::BookInfo(const BookInfo &other) : diff --git a/core/src/dto/bookinforemotesearchquery.cpp b/core/src/dto/bookinforemotesearchquery.cpp index ab70513..a246784 100644 --- a/core/src/dto/bookinforemotesearchquery.cpp +++ b/core/src/dto/bookinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery() {} +BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/boxsetinfo.cpp b/core/src/dto/boxsetinfo.cpp index 354342e..05a5ddf 100644 --- a/core/src/dto/boxsetinfo.cpp +++ b/core/src/dto/boxsetinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { BoxSetInfo::BoxSetInfo() {} +BoxSetInfo::BoxSetInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + BoxSetInfo::BoxSetInfo(const BoxSetInfo &other) : diff --git a/core/src/dto/boxsetinforemotesearchquery.cpp b/core/src/dto/boxsetinforemotesearchquery.cpp index 0cf4432..858c528 100644 --- a/core/src/dto/boxsetinforemotesearchquery.cpp +++ b/core/src/dto/boxsetinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery() {} +BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/bufferrequestdto.cpp b/core/src/dto/bufferrequestdto.cpp index e4363dd..4865f27 100644 --- a/core/src/dto/bufferrequestdto.cpp +++ b/core/src/dto/bufferrequestdto.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { BufferRequestDto::BufferRequestDto() {} +BufferRequestDto::BufferRequestDto ( + QDateTime when, + qint64 positionTicks, + bool isPlaying, + QString playlistItemId + ) : + m_when(when), + m_positionTicks(positionTicks), + m_isPlaying(isPlaying), + m_playlistItemId(playlistItemId) { } + + BufferRequestDto::BufferRequestDto(const BufferRequestDto &other) : diff --git a/core/src/dto/channelfeatures.cpp b/core/src/dto/channelfeatures.cpp index 08cc3b4..6f9d728 100644 --- a/core/src/dto/channelfeatures.cpp +++ b/core/src/dto/channelfeatures.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { ChannelFeatures::ChannelFeatures() {} +ChannelFeatures::ChannelFeatures ( + bool canSearch, + bool supportsSortOrderToggle, + bool supportsLatestMedia, + bool canFilter, + bool supportsContentDownloading + ) : + m_canSearch(canSearch), + m_supportsSortOrderToggle(supportsSortOrderToggle), + m_supportsLatestMedia(supportsLatestMedia), + m_canFilter(canFilter), + m_supportsContentDownloading(supportsContentDownloading) { } + + ChannelFeatures::ChannelFeatures(const ChannelFeatures &other) : diff --git a/core/src/dto/chapterinfo.cpp b/core/src/dto/chapterinfo.cpp index c91d80b..e8e0b14 100644 --- a/core/src/dto/chapterinfo.cpp +++ b/core/src/dto/chapterinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { ChapterInfo::ChapterInfo() {} +ChapterInfo::ChapterInfo ( + qint64 startPositionTicks, + QDateTime imageDateModified + ) : + m_startPositionTicks(startPositionTicks), + m_imageDateModified(imageDateModified) { } + + ChapterInfo::ChapterInfo(const ChapterInfo &other) : diff --git a/core/src/dto/clientcapabilities.cpp b/core/src/dto/clientcapabilities.cpp index 5c8d5f4..bf07b9a 100644 --- a/core/src/dto/clientcapabilities.cpp +++ b/core/src/dto/clientcapabilities.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { ClientCapabilities::ClientCapabilities() {} +ClientCapabilities::ClientCapabilities ( + bool supportsMediaControl, + bool supportsContentUploading, + bool supportsPersistentIdentifier, + bool supportsSync, + QSharedPointer deviceProfile + ) : + m_supportsMediaControl(supportsMediaControl), + m_supportsContentUploading(supportsContentUploading), + m_supportsPersistentIdentifier(supportsPersistentIdentifier), + m_supportsSync(supportsSync), + m_deviceProfile(deviceProfile) { } + + ClientCapabilities::ClientCapabilities(const ClientCapabilities &other) : diff --git a/core/src/dto/clientcapabilitiesdto.cpp b/core/src/dto/clientcapabilitiesdto.cpp index b179c57..07ad948 100644 --- a/core/src/dto/clientcapabilitiesdto.cpp +++ b/core/src/dto/clientcapabilitiesdto.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { ClientCapabilitiesDto::ClientCapabilitiesDto() {} +ClientCapabilitiesDto::ClientCapabilitiesDto ( + bool supportsMediaControl, + bool supportsContentUploading, + bool supportsPersistentIdentifier, + bool supportsSync, + QSharedPointer deviceProfile + ) : + m_supportsMediaControl(supportsMediaControl), + m_supportsContentUploading(supportsContentUploading), + m_supportsPersistentIdentifier(supportsPersistentIdentifier), + m_supportsSync(supportsSync), + m_deviceProfile(deviceProfile) { } + + ClientCapabilitiesDto::ClientCapabilitiesDto(const ClientCapabilitiesDto &other) : diff --git a/core/src/dto/codecprofile.cpp b/core/src/dto/codecprofile.cpp index 6d7ed82..0e30a8d 100644 --- a/core/src/dto/codecprofile.cpp +++ b/core/src/dto/codecprofile.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { CodecProfile::CodecProfile() {} +CodecProfile::CodecProfile ( + CodecType type + ) : + m_type(type) { } + + CodecProfile::CodecProfile(const CodecProfile &other) : diff --git a/core/src/dto/collectioncreationresult.cpp b/core/src/dto/collectioncreationresult.cpp index b0b0f3b..ce5bf02 100644 --- a/core/src/dto/collectioncreationresult.cpp +++ b/core/src/dto/collectioncreationresult.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { CollectionCreationResult::CollectionCreationResult() {} +CollectionCreationResult::CollectionCreationResult ( + QString jellyfinId + ) : + m_jellyfinId(jellyfinId) { } + + CollectionCreationResult::CollectionCreationResult(const CollectionCreationResult &other) : diff --git a/core/src/dto/configurationpageinfo.cpp b/core/src/dto/configurationpageinfo.cpp index 7f88ba8..459c702 100644 --- a/core/src/dto/configurationpageinfo.cpp +++ b/core/src/dto/configurationpageinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { ConfigurationPageInfo::ConfigurationPageInfo() {} +ConfigurationPageInfo::ConfigurationPageInfo ( + bool enableInMainMenu, + ConfigurationPageType configurationPageType + ) : + m_enableInMainMenu(enableInMainMenu), + m_configurationPageType(configurationPageType) { } + + ConfigurationPageInfo::ConfigurationPageInfo(const ConfigurationPageInfo &other) : diff --git a/core/src/dto/containerprofile.cpp b/core/src/dto/containerprofile.cpp index c898d9d..531d905 100644 --- a/core/src/dto/containerprofile.cpp +++ b/core/src/dto/containerprofile.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ContainerProfile::ContainerProfile() {} +ContainerProfile::ContainerProfile ( + DlnaProfileType type + ) : + m_type(type) { } + + ContainerProfile::ContainerProfile(const ContainerProfile &other) : diff --git a/core/src/dto/controlresponse.cpp b/core/src/dto/controlresponse.cpp index 73fe7bb..d98f9fb 100644 --- a/core/src/dto/controlresponse.cpp +++ b/core/src/dto/controlresponse.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ControlResponse::ControlResponse() {} +ControlResponse::ControlResponse ( + bool isSuccessful + ) : + m_isSuccessful(isSuccessful) { } + + ControlResponse::ControlResponse(const ControlResponse &other) : diff --git a/core/src/dto/deviceinfo.cpp b/core/src/dto/deviceinfo.cpp index e7cc4fb..c4b2de0 100644 --- a/core/src/dto/deviceinfo.cpp +++ b/core/src/dto/deviceinfo.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { DeviceInfo::DeviceInfo() {} +DeviceInfo::DeviceInfo ( + QString lastUserId, + QDateTime dateLastActivity, + QSharedPointer capabilities + ) : + m_lastUserId(lastUserId), + m_dateLastActivity(dateLastActivity), + m_capabilities(capabilities) { } + + DeviceInfo::DeviceInfo(const DeviceInfo &other) : diff --git a/core/src/dto/deviceinfoqueryresult.cpp b/core/src/dto/deviceinfoqueryresult.cpp index 3440003..380eaae 100644 --- a/core/src/dto/deviceinfoqueryresult.cpp +++ b/core/src/dto/deviceinfoqueryresult.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { DeviceInfoQueryResult::DeviceInfoQueryResult() {} +DeviceInfoQueryResult::DeviceInfoQueryResult ( + qint32 totalRecordCount, + qint32 startIndex + ) : + m_totalRecordCount(totalRecordCount), + m_startIndex(startIndex) { } + + DeviceInfoQueryResult::DeviceInfoQueryResult(const DeviceInfoQueryResult &other) : diff --git a/core/src/dto/deviceprofile.cpp b/core/src/dto/deviceprofile.cpp index aa668da..26f40b7 100644 --- a/core/src/dto/deviceprofile.cpp +++ b/core/src/dto/deviceprofile.cpp @@ -33,6 +33,32 @@ namespace Jellyfin { namespace DTO { DeviceProfile::DeviceProfile() {} +DeviceProfile::DeviceProfile ( + QSharedPointer identification, + bool enableAlbumArtInDidl, + bool enableSingleAlbumArtLimit, + bool enableSingleSubtitleLimit, + qint32 maxAlbumArtWidth, + qint32 maxAlbumArtHeight, + qint32 timelineOffsetSeconds, + bool requiresPlainVideoItems, + bool requiresPlainFolders, + bool enableMSMediaReceiverRegistrar, + bool ignoreTranscodeByteRangeRequests + ) : + m_identification(identification), + m_enableAlbumArtInDidl(enableAlbumArtInDidl), + m_enableSingleAlbumArtLimit(enableSingleAlbumArtLimit), + m_enableSingleSubtitleLimit(enableSingleSubtitleLimit), + m_maxAlbumArtWidth(maxAlbumArtWidth), + m_maxAlbumArtHeight(maxAlbumArtHeight), + m_timelineOffsetSeconds(timelineOffsetSeconds), + m_requiresPlainVideoItems(requiresPlainVideoItems), + m_requiresPlainFolders(requiresPlainFolders), + m_enableMSMediaReceiverRegistrar(enableMSMediaReceiverRegistrar), + m_ignoreTranscodeByteRangeRequests(ignoreTranscodeByteRangeRequests) { } + + DeviceProfile::DeviceProfile(const DeviceProfile &other) : diff --git a/core/src/dto/deviceprofileinfo.cpp b/core/src/dto/deviceprofileinfo.cpp index 4ba0884..903a48c 100644 --- a/core/src/dto/deviceprofileinfo.cpp +++ b/core/src/dto/deviceprofileinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { DeviceProfileInfo::DeviceProfileInfo() {} +DeviceProfileInfo::DeviceProfileInfo ( + DeviceProfileType type + ) : + m_type(type) { } + + DeviceProfileInfo::DeviceProfileInfo(const DeviceProfileInfo &other) : diff --git a/core/src/dto/directplayprofile.cpp b/core/src/dto/directplayprofile.cpp index af33e29..519e23a 100644 --- a/core/src/dto/directplayprofile.cpp +++ b/core/src/dto/directplayprofile.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { DirectPlayProfile::DirectPlayProfile() {} +DirectPlayProfile::DirectPlayProfile ( + DlnaProfileType type + ) : + m_type(type) { } + + DirectPlayProfile::DirectPlayProfile(const DirectPlayProfile &other) : diff --git a/core/src/dto/displaypreferencesdto.cpp b/core/src/dto/displaypreferencesdto.cpp index f987cd6..cb510db 100644 --- a/core/src/dto/displaypreferencesdto.cpp +++ b/core/src/dto/displaypreferencesdto.cpp @@ -33,6 +33,26 @@ namespace Jellyfin { namespace DTO { DisplayPreferencesDto::DisplayPreferencesDto() {} +DisplayPreferencesDto::DisplayPreferencesDto ( + bool rememberIndexing, + qint32 primaryImageHeight, + qint32 primaryImageWidth, + ScrollDirection scrollDirection, + bool showBackdrop, + bool rememberSorting, + SortOrder sortOrder, + bool showSidebar + ) : + m_rememberIndexing(rememberIndexing), + m_primaryImageHeight(primaryImageHeight), + m_primaryImageWidth(primaryImageWidth), + m_scrollDirection(scrollDirection), + m_showBackdrop(showBackdrop), + m_rememberSorting(rememberSorting), + m_sortOrder(sortOrder), + m_showSidebar(showSidebar) { } + + DisplayPreferencesDto::DisplayPreferencesDto(const DisplayPreferencesDto &other) : diff --git a/core/src/dto/endpointinfo.cpp b/core/src/dto/endpointinfo.cpp index 7086a84..9f3347f 100644 --- a/core/src/dto/endpointinfo.cpp +++ b/core/src/dto/endpointinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { EndPointInfo::EndPointInfo() {} +EndPointInfo::EndPointInfo ( + bool isLocal, + bool isInNetwork + ) : + m_isLocal(isLocal), + m_isInNetwork(isInNetwork) { } + + EndPointInfo::EndPointInfo(const EndPointInfo &other) : diff --git a/core/src/dto/externalidinfo.cpp b/core/src/dto/externalidinfo.cpp index 98cdf29..e46c7e3 100644 --- a/core/src/dto/externalidinfo.cpp +++ b/core/src/dto/externalidinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ExternalIdInfo::ExternalIdInfo() {} +ExternalIdInfo::ExternalIdInfo ( + ExternalIdMediaType type + ) : + m_type(type) { } + + ExternalIdInfo::ExternalIdInfo(const ExternalIdInfo &other) : diff --git a/core/src/dto/filesystementryinfo.cpp b/core/src/dto/filesystementryinfo.cpp index 7304a6a..614dde2 100644 --- a/core/src/dto/filesystementryinfo.cpp +++ b/core/src/dto/filesystementryinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { FileSystemEntryInfo::FileSystemEntryInfo() {} +FileSystemEntryInfo::FileSystemEntryInfo ( + FileSystemEntryType type + ) : + m_type(type) { } + + FileSystemEntryInfo::FileSystemEntryInfo(const FileSystemEntryInfo &other) : diff --git a/core/src/dto/fontfile.cpp b/core/src/dto/fontfile.cpp index 3ca5ef4..15401ac 100644 --- a/core/src/dto/fontfile.cpp +++ b/core/src/dto/fontfile.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { FontFile::FontFile() {} +FontFile::FontFile ( + qint64 size, + QDateTime dateCreated, + QDateTime dateModified + ) : + m_size(size), + m_dateCreated(dateCreated), + m_dateModified(dateModified) { } + + FontFile::FontFile(const FontFile &other) : diff --git a/core/src/dto/forgotpassworddto.cpp b/core/src/dto/forgotpassworddto.cpp index e424725..177c30b 100644 --- a/core/src/dto/forgotpassworddto.cpp +++ b/core/src/dto/forgotpassworddto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ForgotPasswordDto::ForgotPasswordDto() {} +ForgotPasswordDto::ForgotPasswordDto ( + QString enteredUsername + ) : + m_enteredUsername(enteredUsername) { } + + ForgotPasswordDto::ForgotPasswordDto(const ForgotPasswordDto &other) : diff --git a/core/src/dto/forgotpasswordresult.cpp b/core/src/dto/forgotpasswordresult.cpp index f7defd3..5450a9b 100644 --- a/core/src/dto/forgotpasswordresult.cpp +++ b/core/src/dto/forgotpasswordresult.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ForgotPasswordResult::ForgotPasswordResult() {} +ForgotPasswordResult::ForgotPasswordResult ( + ForgotPasswordAction action + ) : + m_action(action) { } + + ForgotPasswordResult::ForgotPasswordResult(const ForgotPasswordResult &other) : diff --git a/core/src/dto/generalcommand.cpp b/core/src/dto/generalcommand.cpp index 97f4da3..7cb2233 100644 --- a/core/src/dto/generalcommand.cpp +++ b/core/src/dto/generalcommand.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { GeneralCommand::GeneralCommand() {} +GeneralCommand::GeneralCommand ( + GeneralCommandType name, + QString controllingUserId + ) : + m_name(name), + m_controllingUserId(controllingUserId) { } + + GeneralCommand::GeneralCommand(const GeneralCommand &other) : diff --git a/core/src/dto/getprogramsdto.cpp b/core/src/dto/getprogramsdto.cpp index 24fcb7f..7aec3f0 100644 --- a/core/src/dto/getprogramsdto.cpp +++ b/core/src/dto/getprogramsdto.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { GetProgramsDto::GetProgramsDto() {} +GetProgramsDto::GetProgramsDto ( + QString userId, + bool enableTotalRecordCount, + QString librarySeriesId + ) : + m_userId(userId), + m_enableTotalRecordCount(enableTotalRecordCount), + m_librarySeriesId(librarySeriesId) { } + + GetProgramsDto::GetProgramsDto(const GetProgramsDto &other) : diff --git a/core/src/dto/groupinfodto.cpp b/core/src/dto/groupinfodto.cpp index ccd555d..fa998ad 100644 --- a/core/src/dto/groupinfodto.cpp +++ b/core/src/dto/groupinfodto.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { GroupInfoDto::GroupInfoDto() {} +GroupInfoDto::GroupInfoDto ( + QString groupId, + GroupStateType state, + QDateTime lastUpdatedAt + ) : + m_groupId(groupId), + m_state(state), + m_lastUpdatedAt(lastUpdatedAt) { } + + GroupInfoDto::GroupInfoDto(const GroupInfoDto &other) : diff --git a/core/src/dto/guideinfo.cpp b/core/src/dto/guideinfo.cpp index c62dbd7..bd7f8a4 100644 --- a/core/src/dto/guideinfo.cpp +++ b/core/src/dto/guideinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { GuideInfo::GuideInfo() {} +GuideInfo::GuideInfo ( + QDateTime startDate, + QDateTime endDate + ) : + m_startDate(startDate), + m_endDate(endDate) { } + + GuideInfo::GuideInfo(const GuideInfo &other) : diff --git a/core/src/dto/httpheaderinfo.cpp b/core/src/dto/httpheaderinfo.cpp index 64db4f4..cde83e0 100644 --- a/core/src/dto/httpheaderinfo.cpp +++ b/core/src/dto/httpheaderinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { HttpHeaderInfo::HttpHeaderInfo() {} +HttpHeaderInfo::HttpHeaderInfo ( + HeaderMatchType match + ) : + m_match(match) { } + + HttpHeaderInfo::HttpHeaderInfo(const HttpHeaderInfo &other) : diff --git a/core/src/dto/ignorewaitrequestdto.cpp b/core/src/dto/ignorewaitrequestdto.cpp index a519a1f..8e4a816 100644 --- a/core/src/dto/ignorewaitrequestdto.cpp +++ b/core/src/dto/ignorewaitrequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { IgnoreWaitRequestDto::IgnoreWaitRequestDto() {} +IgnoreWaitRequestDto::IgnoreWaitRequestDto ( + bool ignoreWait + ) : + m_ignoreWait(ignoreWait) { } + + IgnoreWaitRequestDto::IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other) : diff --git a/core/src/dto/imagebynameinfo.cpp b/core/src/dto/imagebynameinfo.cpp index 61a06d7..120eb3f 100644 --- a/core/src/dto/imagebynameinfo.cpp +++ b/core/src/dto/imagebynameinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ImageByNameInfo::ImageByNameInfo() {} +ImageByNameInfo::ImageByNameInfo ( + qint64 fileLength + ) : + m_fileLength(fileLength) { } + + ImageByNameInfo::ImageByNameInfo(const ImageByNameInfo &other) : diff --git a/core/src/dto/imageinfo.cpp b/core/src/dto/imageinfo.cpp index a278593..874209f 100644 --- a/core/src/dto/imageinfo.cpp +++ b/core/src/dto/imageinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { ImageInfo::ImageInfo() {} +ImageInfo::ImageInfo ( + ImageType imageType, + qint64 size + ) : + m_imageType(imageType), + m_size(size) { } + + ImageInfo::ImageInfo(const ImageInfo &other) : diff --git a/core/src/dto/imageoption.cpp b/core/src/dto/imageoption.cpp index a6c5a2d..5967503 100644 --- a/core/src/dto/imageoption.cpp +++ b/core/src/dto/imageoption.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { ImageOption::ImageOption() {} +ImageOption::ImageOption ( + ImageType type, + qint32 limit, + qint32 minWidth + ) : + m_type(type), + m_limit(limit), + m_minWidth(minWidth) { } + + ImageOption::ImageOption(const ImageOption &other) : diff --git a/core/src/dto/installationinfo.cpp b/core/src/dto/installationinfo.cpp index 0a49536..7d72af3 100644 --- a/core/src/dto/installationinfo.cpp +++ b/core/src/dto/installationinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { InstallationInfo::InstallationInfo() {} +InstallationInfo::InstallationInfo ( + QString guid, + QSharedPointer version + ) : + m_guid(guid), + m_version(version) { } + + InstallationInfo::InstallationInfo(const InstallationInfo &other) : diff --git a/core/src/dto/iplugin.cpp b/core/src/dto/iplugin.cpp index a1b2653..b414a0e 100644 --- a/core/src/dto/iplugin.cpp +++ b/core/src/dto/iplugin.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { IPlugin::IPlugin() {} +IPlugin::IPlugin ( + QString jellyfinId, + QSharedPointer version, + bool canUninstall + ) : + m_jellyfinId(jellyfinId), + m_version(version), + m_canUninstall(canUninstall) { } + + IPlugin::IPlugin(const IPlugin &other) : diff --git a/core/src/dto/itemcounts.cpp b/core/src/dto/itemcounts.cpp index 99630cb..b38b8cb 100644 --- a/core/src/dto/itemcounts.cpp +++ b/core/src/dto/itemcounts.cpp @@ -33,6 +33,34 @@ namespace Jellyfin { namespace DTO { ItemCounts::ItemCounts() {} +ItemCounts::ItemCounts ( + qint32 movieCount, + qint32 seriesCount, + qint32 episodeCount, + qint32 artistCount, + qint32 programCount, + qint32 trailerCount, + qint32 songCount, + qint32 albumCount, + qint32 musicVideoCount, + qint32 boxSetCount, + qint32 bookCount, + qint32 itemCount + ) : + m_movieCount(movieCount), + m_seriesCount(seriesCount), + m_episodeCount(episodeCount), + m_artistCount(artistCount), + m_programCount(programCount), + m_trailerCount(trailerCount), + m_songCount(songCount), + m_albumCount(albumCount), + m_musicVideoCount(musicVideoCount), + m_boxSetCount(boxSetCount), + m_bookCount(bookCount), + m_itemCount(itemCount) { } + + ItemCounts::ItemCounts(const ItemCounts &other) : diff --git a/core/src/dto/joingrouprequestdto.cpp b/core/src/dto/joingrouprequestdto.cpp index 503687f..2a2625b 100644 --- a/core/src/dto/joingrouprequestdto.cpp +++ b/core/src/dto/joingrouprequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { JoinGroupRequestDto::JoinGroupRequestDto() {} +JoinGroupRequestDto::JoinGroupRequestDto ( + QString groupId + ) : + m_groupId(groupId) { } + + JoinGroupRequestDto::JoinGroupRequestDto(const JoinGroupRequestDto &other) : diff --git a/core/src/dto/libraryoptioninfodto.cpp b/core/src/dto/libraryoptioninfodto.cpp index 983f88e..7c4d844 100644 --- a/core/src/dto/libraryoptioninfodto.cpp +++ b/core/src/dto/libraryoptioninfodto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { LibraryOptionInfoDto::LibraryOptionInfoDto() {} +LibraryOptionInfoDto::LibraryOptionInfoDto ( + bool defaultEnabled + ) : + m_defaultEnabled(defaultEnabled) { } + + LibraryOptionInfoDto::LibraryOptionInfoDto(const LibraryOptionInfoDto &other) : diff --git a/core/src/dto/libraryoptions.cpp b/core/src/dto/libraryoptions.cpp index 447d906..b424d21 100644 --- a/core/src/dto/libraryoptions.cpp +++ b/core/src/dto/libraryoptions.cpp @@ -33,6 +33,38 @@ namespace Jellyfin { namespace DTO { LibraryOptions::LibraryOptions() {} +LibraryOptions::LibraryOptions ( + bool enablePhotos, + bool enableRealtimeMonitor, + bool enableChapterImageExtraction, + bool extractChapterImagesDuringLibraryScan, + bool saveLocalMetadata, + bool enableInternetProviders, + bool enableAutomaticSeriesGrouping, + bool enableEmbeddedTitles, + bool enableEmbeddedEpisodeInfos, + qint32 automaticRefreshIntervalDays, + bool skipSubtitlesIfEmbeddedSubtitlesPresent, + bool skipSubtitlesIfAudioTrackMatches, + bool requirePerfectSubtitleMatch, + bool saveSubtitlesWithMedia + ) : + m_enablePhotos(enablePhotos), + m_enableRealtimeMonitor(enableRealtimeMonitor), + m_enableChapterImageExtraction(enableChapterImageExtraction), + m_extractChapterImagesDuringLibraryScan(extractChapterImagesDuringLibraryScan), + m_saveLocalMetadata(saveLocalMetadata), + m_enableInternetProviders(enableInternetProviders), + m_enableAutomaticSeriesGrouping(enableAutomaticSeriesGrouping), + m_enableEmbeddedTitles(enableEmbeddedTitles), + m_enableEmbeddedEpisodeInfos(enableEmbeddedEpisodeInfos), + m_automaticRefreshIntervalDays(automaticRefreshIntervalDays), + m_skipSubtitlesIfEmbeddedSubtitlesPresent(skipSubtitlesIfEmbeddedSubtitlesPresent), + m_skipSubtitlesIfAudioTrackMatches(skipSubtitlesIfAudioTrackMatches), + m_requirePerfectSubtitleMatch(requirePerfectSubtitleMatch), + m_saveSubtitlesWithMedia(saveSubtitlesWithMedia) { } + + LibraryOptions::LibraryOptions(const LibraryOptions &other) : diff --git a/core/src/dto/libraryupdateinfo.cpp b/core/src/dto/libraryupdateinfo.cpp index 3c970ca..90261dd 100644 --- a/core/src/dto/libraryupdateinfo.cpp +++ b/core/src/dto/libraryupdateinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { LibraryUpdateInfo::LibraryUpdateInfo() {} +LibraryUpdateInfo::LibraryUpdateInfo ( + bool isEmpty + ) : + m_isEmpty(isEmpty) { } + + LibraryUpdateInfo::LibraryUpdateInfo(const LibraryUpdateInfo &other) : diff --git a/core/src/dto/listingsproviderinfo.cpp b/core/src/dto/listingsproviderinfo.cpp index 1f97af9..4525c7f 100644 --- a/core/src/dto/listingsproviderinfo.cpp +++ b/core/src/dto/listingsproviderinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ListingsProviderInfo::ListingsProviderInfo() {} +ListingsProviderInfo::ListingsProviderInfo ( + bool enableAllTuners + ) : + m_enableAllTuners(enableAllTuners) { } + + ListingsProviderInfo::ListingsProviderInfo(const ListingsProviderInfo &other) : diff --git a/core/src/dto/livestreamresponse.cpp b/core/src/dto/livestreamresponse.cpp index cff7626..72a1fa7 100644 --- a/core/src/dto/livestreamresponse.cpp +++ b/core/src/dto/livestreamresponse.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { LiveStreamResponse::LiveStreamResponse() {} +LiveStreamResponse::LiveStreamResponse ( + QSharedPointer mediaSource + ) : + m_mediaSource(mediaSource) { } + + LiveStreamResponse::LiveStreamResponse(const LiveStreamResponse &other) : diff --git a/core/src/dto/livetvinfo.cpp b/core/src/dto/livetvinfo.cpp index a1a65c8..3947169 100644 --- a/core/src/dto/livetvinfo.cpp +++ b/core/src/dto/livetvinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { LiveTvInfo::LiveTvInfo() {} +LiveTvInfo::LiveTvInfo ( + bool isEnabled + ) : + m_isEnabled(isEnabled) { } + + LiveTvInfo::LiveTvInfo(const LiveTvInfo &other) : diff --git a/core/src/dto/livetvserviceinfo.cpp b/core/src/dto/livetvserviceinfo.cpp index 75cc9bd..3434b6c 100644 --- a/core/src/dto/livetvserviceinfo.cpp +++ b/core/src/dto/livetvserviceinfo.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { LiveTvServiceInfo::LiveTvServiceInfo() {} +LiveTvServiceInfo::LiveTvServiceInfo ( + LiveTvServiceStatus status, + bool hasUpdateAvailable, + bool isVisible + ) : + m_status(status), + m_hasUpdateAvailable(hasUpdateAvailable), + m_isVisible(isVisible) { } + + LiveTvServiceInfo::LiveTvServiceInfo(const LiveTvServiceInfo &other) : diff --git a/core/src/dto/logfile.cpp b/core/src/dto/logfile.cpp index ca8a7c1..4537f41 100644 --- a/core/src/dto/logfile.cpp +++ b/core/src/dto/logfile.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { LogFile::LogFile() {} +LogFile::LogFile ( + QDateTime dateCreated, + QDateTime dateModified, + qint64 size + ) : + m_dateCreated(dateCreated), + m_dateModified(dateModified), + m_size(size) { } + + LogFile::LogFile(const LogFile &other) : diff --git a/core/src/dto/mediaattachment.cpp b/core/src/dto/mediaattachment.cpp index f6f10f1..84f16c0 100644 --- a/core/src/dto/mediaattachment.cpp +++ b/core/src/dto/mediaattachment.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { MediaAttachment::MediaAttachment() {} +MediaAttachment::MediaAttachment ( + qint32 index + ) : + m_index(index) { } + + MediaAttachment::MediaAttachment(const MediaAttachment &other) : diff --git a/core/src/dto/mediapathdto.cpp b/core/src/dto/mediapathdto.cpp index 18d330f..c72e5ae 100644 --- a/core/src/dto/mediapathdto.cpp +++ b/core/src/dto/mediapathdto.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { MediaPathDto::MediaPathDto() {} +MediaPathDto::MediaPathDto ( + QString name, + QSharedPointer pathInfo + ) : + m_name(name), + m_pathInfo(pathInfo) { } + + MediaPathDto::MediaPathDto(const MediaPathDto &other) : diff --git a/core/src/dto/mediasourceinfo.cpp b/core/src/dto/mediasourceinfo.cpp index 5360025..22813c9 100644 --- a/core/src/dto/mediasourceinfo.cpp +++ b/core/src/dto/mediasourceinfo.cpp @@ -33,6 +33,50 @@ namespace Jellyfin { namespace DTO { MediaSourceInfo::MediaSourceInfo() {} +MediaSourceInfo::MediaSourceInfo ( + MediaProtocol protocol, + MediaProtocol encoderProtocol, + MediaSourceType type, + bool isRemote, + bool readAtNativeFramerate, + bool ignoreDts, + bool ignoreIndex, + bool genPtsInput, + bool supportsTranscoding, + bool supportsDirectStream, + bool supportsDirectPlay, + bool isInfiniteStream, + bool requiresOpening, + bool requiresClosing, + bool requiresLooping, + bool supportsProbing, + VideoType videoType, + IsoType isoType, + Video3DFormat video3DFormat, + TransportStreamTimestamp timestamp + ) : + m_protocol(protocol), + m_encoderProtocol(encoderProtocol), + m_type(type), + m_isRemote(isRemote), + m_readAtNativeFramerate(readAtNativeFramerate), + m_ignoreDts(ignoreDts), + m_ignoreIndex(ignoreIndex), + m_genPtsInput(genPtsInput), + m_supportsTranscoding(supportsTranscoding), + m_supportsDirectStream(supportsDirectStream), + m_supportsDirectPlay(supportsDirectPlay), + m_isInfiniteStream(isInfiniteStream), + m_requiresOpening(requiresOpening), + m_requiresClosing(requiresClosing), + m_requiresLooping(requiresLooping), + m_supportsProbing(supportsProbing), + m_videoType(videoType), + m_isoType(isoType), + m_video3DFormat(video3DFormat), + m_timestamp(timestamp) { } + + MediaSourceInfo::MediaSourceInfo(const MediaSourceInfo &other) : diff --git a/core/src/dto/mediastream.cpp b/core/src/dto/mediastream.cpp index 73907f4..46707da 100644 --- a/core/src/dto/mediastream.cpp +++ b/core/src/dto/mediastream.cpp @@ -33,6 +33,28 @@ namespace Jellyfin { namespace DTO { MediaStream::MediaStream() {} +MediaStream::MediaStream ( + bool isInterlaced, + bool isDefault, + bool isForced, + MediaStreamType type, + qint32 index, + bool isExternal, + SubtitleDeliveryMethod deliveryMethod, + bool isTextSubtitleStream, + bool supportsExternalStream + ) : + m_isInterlaced(isInterlaced), + m_isDefault(isDefault), + m_isForced(isForced), + m_type(type), + m_index(index), + m_isExternal(isExternal), + m_deliveryMethod(deliveryMethod), + m_isTextSubtitleStream(isTextSubtitleStream), + m_supportsExternalStream(supportsExternalStream) { } + + MediaStream::MediaStream(const MediaStream &other) : diff --git a/core/src/dto/moveplaylistitemrequestdto.cpp b/core/src/dto/moveplaylistitemrequestdto.cpp index 912c5a7..8100794 100644 --- a/core/src/dto/moveplaylistitemrequestdto.cpp +++ b/core/src/dto/moveplaylistitemrequestdto.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { MovePlaylistItemRequestDto::MovePlaylistItemRequestDto() {} +MovePlaylistItemRequestDto::MovePlaylistItemRequestDto ( + QString playlistItemId, + qint32 newIndex + ) : + m_playlistItemId(playlistItemId), + m_newIndex(newIndex) { } + + MovePlaylistItemRequestDto::MovePlaylistItemRequestDto(const MovePlaylistItemRequestDto &other) : diff --git a/core/src/dto/movieinfo.cpp b/core/src/dto/movieinfo.cpp index d100d52..3afb233 100644 --- a/core/src/dto/movieinfo.cpp +++ b/core/src/dto/movieinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { MovieInfo::MovieInfo() {} +MovieInfo::MovieInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + MovieInfo::MovieInfo(const MovieInfo &other) : diff --git a/core/src/dto/movieinforemotesearchquery.cpp b/core/src/dto/movieinforemotesearchquery.cpp index 8a91039..d968162 100644 --- a/core/src/dto/movieinforemotesearchquery.cpp +++ b/core/src/dto/movieinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery() {} +MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery(const MovieInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/musicvideoinfo.cpp b/core/src/dto/musicvideoinfo.cpp index 08b8cb0..c5ab83e 100644 --- a/core/src/dto/musicvideoinfo.cpp +++ b/core/src/dto/musicvideoinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { MusicVideoInfo::MusicVideoInfo() {} +MusicVideoInfo::MusicVideoInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + MusicVideoInfo::MusicVideoInfo(const MusicVideoInfo &other) : diff --git a/core/src/dto/musicvideoinforemotesearchquery.cpp b/core/src/dto/musicvideoinforemotesearchquery.cpp index 91fd1d7..d949e45 100644 --- a/core/src/dto/musicvideoinforemotesearchquery.cpp +++ b/core/src/dto/musicvideoinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery() {} +MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery(const MusicVideoInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/nameguidpair.cpp b/core/src/dto/nameguidpair.cpp index 741e915..7bb11a3 100644 --- a/core/src/dto/nameguidpair.cpp +++ b/core/src/dto/nameguidpair.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { NameGuidPair::NameGuidPair() {} +NameGuidPair::NameGuidPair ( + QString jellyfinId + ) : + m_jellyfinId(jellyfinId) { } + + NameGuidPair::NameGuidPair(const NameGuidPair &other) : diff --git a/core/src/dto/nextitemrequestdto.cpp b/core/src/dto/nextitemrequestdto.cpp index 800179e..f58fe33 100644 --- a/core/src/dto/nextitemrequestdto.cpp +++ b/core/src/dto/nextitemrequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { NextItemRequestDto::NextItemRequestDto() {} +NextItemRequestDto::NextItemRequestDto ( + QString playlistItemId + ) : + m_playlistItemId(playlistItemId) { } + + NextItemRequestDto::NextItemRequestDto(const NextItemRequestDto &other) : diff --git a/core/src/dto/notificationdto.cpp b/core/src/dto/notificationdto.cpp index b196798..8a64a6a 100644 --- a/core/src/dto/notificationdto.cpp +++ b/core/src/dto/notificationdto.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { NotificationDto::NotificationDto() {} +NotificationDto::NotificationDto ( + QDateTime date, + bool isRead, + NotificationLevel level + ) : + m_date(date), + m_isRead(isRead), + m_level(level) { } + + NotificationDto::NotificationDto(const NotificationDto &other) : diff --git a/core/src/dto/notificationresultdto.cpp b/core/src/dto/notificationresultdto.cpp index 9e28633..4e8f786 100644 --- a/core/src/dto/notificationresultdto.cpp +++ b/core/src/dto/notificationresultdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { NotificationResultDto::NotificationResultDto() {} +NotificationResultDto::NotificationResultDto ( + qint32 totalRecordCount + ) : + m_totalRecordCount(totalRecordCount) { } + + NotificationResultDto::NotificationResultDto(const NotificationResultDto &other) : diff --git a/core/src/dto/notificationssummarydto.cpp b/core/src/dto/notificationssummarydto.cpp index bf45aa6..3fcee0f 100644 --- a/core/src/dto/notificationssummarydto.cpp +++ b/core/src/dto/notificationssummarydto.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { NotificationsSummaryDto::NotificationsSummaryDto() {} +NotificationsSummaryDto::NotificationsSummaryDto ( + qint32 unreadCount, + NotificationLevel maxUnreadNotificationLevel + ) : + m_unreadCount(unreadCount), + m_maxUnreadNotificationLevel(maxUnreadNotificationLevel) { } + + NotificationsSummaryDto::NotificationsSummaryDto(const NotificationsSummaryDto &other) : diff --git a/core/src/dto/notificationtypeinfo.cpp b/core/src/dto/notificationtypeinfo.cpp index 4bb6be6..51ec74a 100644 --- a/core/src/dto/notificationtypeinfo.cpp +++ b/core/src/dto/notificationtypeinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { NotificationTypeInfo::NotificationTypeInfo() {} +NotificationTypeInfo::NotificationTypeInfo ( + bool enabled, + bool isBasedOnUserEvent + ) : + m_enabled(enabled), + m_isBasedOnUserEvent(isBasedOnUserEvent) { } + + NotificationTypeInfo::NotificationTypeInfo(const NotificationTypeInfo &other) : diff --git a/core/src/dto/objectgroupupdate.cpp b/core/src/dto/objectgroupupdate.cpp index 95a06f9..8d36d97 100644 --- a/core/src/dto/objectgroupupdate.cpp +++ b/core/src/dto/objectgroupupdate.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { ObjectGroupUpdate::ObjectGroupUpdate() {} +ObjectGroupUpdate::ObjectGroupUpdate ( + QString groupId, + GroupUpdateType type, + QVariant data + ) : + m_groupId(groupId), + m_type(type), + m_data(data) { } + + ObjectGroupUpdate::ObjectGroupUpdate(const ObjectGroupUpdate &other) : diff --git a/core/src/dto/openlivestreamdto.cpp b/core/src/dto/openlivestreamdto.cpp index d7739fa..bd59be6 100644 --- a/core/src/dto/openlivestreamdto.cpp +++ b/core/src/dto/openlivestreamdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { OpenLiveStreamDto::OpenLiveStreamDto() {} +OpenLiveStreamDto::OpenLiveStreamDto ( + QSharedPointer deviceProfile + ) : + m_deviceProfile(deviceProfile) { } + + OpenLiveStreamDto::OpenLiveStreamDto(const OpenLiveStreamDto &other) : diff --git a/core/src/dto/parentalrating.cpp b/core/src/dto/parentalrating.cpp index ffb329e..4f1a8af 100644 --- a/core/src/dto/parentalrating.cpp +++ b/core/src/dto/parentalrating.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ParentalRating::ParentalRating() {} +ParentalRating::ParentalRating ( + qint32 value + ) : + m_value(value) { } + + ParentalRating::ParentalRating(const ParentalRating &other) : diff --git a/core/src/dto/personlookupinfo.cpp b/core/src/dto/personlookupinfo.cpp index 2052b41..d2be25c 100644 --- a/core/src/dto/personlookupinfo.cpp +++ b/core/src/dto/personlookupinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PersonLookupInfo::PersonLookupInfo() {} +PersonLookupInfo::PersonLookupInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + PersonLookupInfo::PersonLookupInfo(const PersonLookupInfo &other) : diff --git a/core/src/dto/personlookupinforemotesearchquery.cpp b/core/src/dto/personlookupinforemotesearchquery.cpp index 5d570be..ec78a5e 100644 --- a/core/src/dto/personlookupinforemotesearchquery.cpp +++ b/core/src/dto/personlookupinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery() {} +PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery(const PersonLookupInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/pingrequestdto.cpp b/core/src/dto/pingrequestdto.cpp index 8504d42..853060a 100644 --- a/core/src/dto/pingrequestdto.cpp +++ b/core/src/dto/pingrequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PingRequestDto::PingRequestDto() {} +PingRequestDto::PingRequestDto ( + qint64 ping + ) : + m_ping(ping) { } + + PingRequestDto::PingRequestDto(const PingRequestDto &other) : diff --git a/core/src/dto/pinredeemresult.cpp b/core/src/dto/pinredeemresult.cpp index 5d8642e..094d810 100644 --- a/core/src/dto/pinredeemresult.cpp +++ b/core/src/dto/pinredeemresult.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PinRedeemResult::PinRedeemResult() {} +PinRedeemResult::PinRedeemResult ( + bool success + ) : + m_success(success) { } + + PinRedeemResult::PinRedeemResult(const PinRedeemResult &other) : diff --git a/core/src/dto/playbackinfodto.cpp b/core/src/dto/playbackinfodto.cpp index 80d1524..3eb6268 100644 --- a/core/src/dto/playbackinfodto.cpp +++ b/core/src/dto/playbackinfodto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PlaybackInfoDto::PlaybackInfoDto() {} +PlaybackInfoDto::PlaybackInfoDto ( + QSharedPointer deviceProfile + ) : + m_deviceProfile(deviceProfile) { } + + PlaybackInfoDto::PlaybackInfoDto(const PlaybackInfoDto &other) : diff --git a/core/src/dto/playbackinforesponse.cpp b/core/src/dto/playbackinforesponse.cpp index 69d1a24..e091734 100644 --- a/core/src/dto/playbackinforesponse.cpp +++ b/core/src/dto/playbackinforesponse.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PlaybackInfoResponse::PlaybackInfoResponse() {} +PlaybackInfoResponse::PlaybackInfoResponse ( + PlaybackErrorCode errorCode + ) : + m_errorCode(errorCode) { } + + PlaybackInfoResponse::PlaybackInfoResponse(const PlaybackInfoResponse &other) : diff --git a/core/src/dto/playbackprogressinfo.cpp b/core/src/dto/playbackprogressinfo.cpp index 985fc6b..5c70cc1 100644 --- a/core/src/dto/playbackprogressinfo.cpp +++ b/core/src/dto/playbackprogressinfo.cpp @@ -33,6 +33,24 @@ namespace Jellyfin { namespace DTO { PlaybackProgressInfo::PlaybackProgressInfo() {} +PlaybackProgressInfo::PlaybackProgressInfo ( + bool canSeek, + QSharedPointer item, + QString itemId, + bool isPaused, + bool isMuted, + PlayMethod playMethod, + RepeatMode repeatMode + ) : + m_canSeek(canSeek), + m_item(item), + m_itemId(itemId), + m_isPaused(isPaused), + m_isMuted(isMuted), + m_playMethod(playMethod), + m_repeatMode(repeatMode) { } + + PlaybackProgressInfo::PlaybackProgressInfo(const PlaybackProgressInfo &other) : diff --git a/core/src/dto/playbackstartinfo.cpp b/core/src/dto/playbackstartinfo.cpp index 878052f..313c12f 100644 --- a/core/src/dto/playbackstartinfo.cpp +++ b/core/src/dto/playbackstartinfo.cpp @@ -33,6 +33,24 @@ namespace Jellyfin { namespace DTO { PlaybackStartInfo::PlaybackStartInfo() {} +PlaybackStartInfo::PlaybackStartInfo ( + bool canSeek, + QSharedPointer item, + QString itemId, + bool isPaused, + bool isMuted, + PlayMethod playMethod, + RepeatMode repeatMode + ) : + m_canSeek(canSeek), + m_item(item), + m_itemId(itemId), + m_isPaused(isPaused), + m_isMuted(isMuted), + m_playMethod(playMethod), + m_repeatMode(repeatMode) { } + + PlaybackStartInfo::PlaybackStartInfo(const PlaybackStartInfo &other) : diff --git a/core/src/dto/playbackstopinfo.cpp b/core/src/dto/playbackstopinfo.cpp index 636c80b..d8a9dc9 100644 --- a/core/src/dto/playbackstopinfo.cpp +++ b/core/src/dto/playbackstopinfo.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { PlaybackStopInfo::PlaybackStopInfo() {} +PlaybackStopInfo::PlaybackStopInfo ( + QSharedPointer item, + QString itemId, + bool failed + ) : + m_item(item), + m_itemId(itemId), + m_failed(failed) { } + + PlaybackStopInfo::PlaybackStopInfo(const PlaybackStopInfo &other) : diff --git a/core/src/dto/playerstateinfo.cpp b/core/src/dto/playerstateinfo.cpp index d5a3b09..25ad5d7 100644 --- a/core/src/dto/playerstateinfo.cpp +++ b/core/src/dto/playerstateinfo.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { PlayerStateInfo::PlayerStateInfo() {} +PlayerStateInfo::PlayerStateInfo ( + bool canSeek, + bool isPaused, + bool isMuted, + PlayMethod playMethod, + RepeatMode repeatMode + ) : + m_canSeek(canSeek), + m_isPaused(isPaused), + m_isMuted(isMuted), + m_playMethod(playMethod), + m_repeatMode(repeatMode) { } + + PlayerStateInfo::PlayerStateInfo(const PlayerStateInfo &other) : diff --git a/core/src/dto/playrequest.cpp b/core/src/dto/playrequest.cpp index 834dc83..851a02a 100644 --- a/core/src/dto/playrequest.cpp +++ b/core/src/dto/playrequest.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { PlayRequest::PlayRequest() {} +PlayRequest::PlayRequest ( + PlayCommand playCommand, + QString controllingUserId + ) : + m_playCommand(playCommand), + m_controllingUserId(controllingUserId) { } + + PlayRequest::PlayRequest(const PlayRequest &other) : diff --git a/core/src/dto/playrequestdto.cpp b/core/src/dto/playrequestdto.cpp index 00b799a..7965bbd 100644 --- a/core/src/dto/playrequestdto.cpp +++ b/core/src/dto/playrequestdto.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { PlayRequestDto::PlayRequestDto() {} +PlayRequestDto::PlayRequestDto ( + qint32 playingItemPosition, + qint64 startPositionTicks + ) : + m_playingItemPosition(playingItemPosition), + m_startPositionTicks(startPositionTicks) { } + + PlayRequestDto::PlayRequestDto(const PlayRequestDto &other) : diff --git a/core/src/dto/playstaterequest.cpp b/core/src/dto/playstaterequest.cpp index da71fa8..d3048ef 100644 --- a/core/src/dto/playstaterequest.cpp +++ b/core/src/dto/playstaterequest.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PlaystateRequest::PlaystateRequest() {} +PlaystateRequest::PlaystateRequest ( + PlaystateCommand command + ) : + m_command(command) { } + + PlaystateRequest::PlaystateRequest(const PlaystateRequest &other) : diff --git a/core/src/dto/plugininfo.cpp b/core/src/dto/plugininfo.cpp index 05bbfc6..152db34 100644 --- a/core/src/dto/plugininfo.cpp +++ b/core/src/dto/plugininfo.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { PluginInfo::PluginInfo() {} +PluginInfo::PluginInfo ( + QSharedPointer version, + QString jellyfinId, + bool canUninstall, + bool hasImage, + PluginStatus status + ) : + m_version(version), + m_jellyfinId(jellyfinId), + m_canUninstall(canUninstall), + m_hasImage(hasImage), + m_status(status) { } + + PluginInfo::PluginInfo(const PluginInfo &other) : diff --git a/core/src/dto/pluginsecurityinfo.cpp b/core/src/dto/pluginsecurityinfo.cpp index 2b607d7..c2b066f 100644 --- a/core/src/dto/pluginsecurityinfo.cpp +++ b/core/src/dto/pluginsecurityinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PluginSecurityInfo::PluginSecurityInfo() {} +PluginSecurityInfo::PluginSecurityInfo ( + bool isMbSupporter + ) : + m_isMbSupporter(isMbSupporter) { } + + PluginSecurityInfo::PluginSecurityInfo(const PluginSecurityInfo &other) : diff --git a/core/src/dto/previousitemrequestdto.cpp b/core/src/dto/previousitemrequestdto.cpp index f26c77a..0bb40a4 100644 --- a/core/src/dto/previousitemrequestdto.cpp +++ b/core/src/dto/previousitemrequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { PreviousItemRequestDto::PreviousItemRequestDto() {} +PreviousItemRequestDto::PreviousItemRequestDto ( + QString playlistItemId + ) : + m_playlistItemId(playlistItemId) { } + + PreviousItemRequestDto::PreviousItemRequestDto(const PreviousItemRequestDto &other) : diff --git a/core/src/dto/profilecondition.cpp b/core/src/dto/profilecondition.cpp index 39ba4b3..4e00246 100644 --- a/core/src/dto/profilecondition.cpp +++ b/core/src/dto/profilecondition.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { ProfileCondition::ProfileCondition() {} +ProfileCondition::ProfileCondition ( + ProfileConditionType condition, + ProfileConditionValue property, + bool isRequired + ) : + m_condition(condition), + m_property(property), + m_isRequired(isRequired) { } + + ProfileCondition::ProfileCondition(const ProfileCondition &other) : diff --git a/core/src/dto/queueitem.cpp b/core/src/dto/queueitem.cpp index 0fab3b5..46543a0 100644 --- a/core/src/dto/queueitem.cpp +++ b/core/src/dto/queueitem.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { QueueItem::QueueItem() {} +QueueItem::QueueItem ( + QString jellyfinId + ) : + m_jellyfinId(jellyfinId) { } + + QueueItem::QueueItem(const QueueItem &other) : diff --git a/core/src/dto/queuerequestdto.cpp b/core/src/dto/queuerequestdto.cpp index 276d02d..a934aec 100644 --- a/core/src/dto/queuerequestdto.cpp +++ b/core/src/dto/queuerequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { QueueRequestDto::QueueRequestDto() {} +QueueRequestDto::QueueRequestDto ( + GroupQueueMode mode + ) : + m_mode(mode) { } + + QueueRequestDto::QueueRequestDto(const QueueRequestDto &other) : diff --git a/core/src/dto/quickconnectdto.cpp b/core/src/dto/quickconnectdto.cpp index ef0ee22..31ea72f 100644 --- a/core/src/dto/quickconnectdto.cpp +++ b/core/src/dto/quickconnectdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { QuickConnectDto::QuickConnectDto() {} +QuickConnectDto::QuickConnectDto ( + QString token + ) : + m_token(token) { } + + QuickConnectDto::QuickConnectDto(const QuickConnectDto &other) : diff --git a/core/src/dto/quickconnectresult.cpp b/core/src/dto/quickconnectresult.cpp index ab8eb23..e7c1474 100644 --- a/core/src/dto/quickconnectresult.cpp +++ b/core/src/dto/quickconnectresult.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { QuickConnectResult::QuickConnectResult() {} +QuickConnectResult::QuickConnectResult ( + bool authenticated + ) : + m_authenticated(authenticated) { } + + QuickConnectResult::QuickConnectResult(const QuickConnectResult &other) : diff --git a/core/src/dto/readyrequestdto.cpp b/core/src/dto/readyrequestdto.cpp index ce24904..6ff5dba 100644 --- a/core/src/dto/readyrequestdto.cpp +++ b/core/src/dto/readyrequestdto.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { ReadyRequestDto::ReadyRequestDto() {} +ReadyRequestDto::ReadyRequestDto ( + QDateTime when, + qint64 positionTicks, + bool isPlaying, + QString playlistItemId + ) : + m_when(when), + m_positionTicks(positionTicks), + m_isPlaying(isPlaying), + m_playlistItemId(playlistItemId) { } + + ReadyRequestDto::ReadyRequestDto(const ReadyRequestDto &other) : diff --git a/core/src/dto/recommendationdto.cpp b/core/src/dto/recommendationdto.cpp index d0ff4db..8e2b1c2 100644 --- a/core/src/dto/recommendationdto.cpp +++ b/core/src/dto/recommendationdto.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { RecommendationDto::RecommendationDto() {} +RecommendationDto::RecommendationDto ( + RecommendationType recommendationType, + QString categoryId + ) : + m_recommendationType(recommendationType), + m_categoryId(categoryId) { } + + RecommendationDto::RecommendationDto(const RecommendationDto &other) : diff --git a/core/src/dto/remoteimageinfo.cpp b/core/src/dto/remoteimageinfo.cpp index c5f6492..5e8538b 100644 --- a/core/src/dto/remoteimageinfo.cpp +++ b/core/src/dto/remoteimageinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { RemoteImageInfo::RemoteImageInfo() {} +RemoteImageInfo::RemoteImageInfo ( + ImageType type, + RatingType ratingType + ) : + m_type(type), + m_ratingType(ratingType) { } + + RemoteImageInfo::RemoteImageInfo(const RemoteImageInfo &other) : diff --git a/core/src/dto/remoteimageresult.cpp b/core/src/dto/remoteimageresult.cpp index 89a95d8..0d87192 100644 --- a/core/src/dto/remoteimageresult.cpp +++ b/core/src/dto/remoteimageresult.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { RemoteImageResult::RemoteImageResult() {} +RemoteImageResult::RemoteImageResult ( + qint32 totalRecordCount + ) : + m_totalRecordCount(totalRecordCount) { } + + RemoteImageResult::RemoteImageResult(const RemoteImageResult &other) : diff --git a/core/src/dto/remotesearchresult.cpp b/core/src/dto/remotesearchresult.cpp index a65e32d..b67b759 100644 --- a/core/src/dto/remotesearchresult.cpp +++ b/core/src/dto/remotesearchresult.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { RemoteSearchResult::RemoteSearchResult() {} +RemoteSearchResult::RemoteSearchResult ( + QSharedPointer albumArtist + ) : + m_albumArtist(albumArtist) { } + + RemoteSearchResult::RemoteSearchResult(const RemoteSearchResult &other) : diff --git a/core/src/dto/repositoryinfo.cpp b/core/src/dto/repositoryinfo.cpp index c57f976..1c7719a 100644 --- a/core/src/dto/repositoryinfo.cpp +++ b/core/src/dto/repositoryinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { RepositoryInfo::RepositoryInfo() {} +RepositoryInfo::RepositoryInfo ( + bool enabled + ) : + m_enabled(enabled) { } + + RepositoryInfo::RepositoryInfo(const RepositoryInfo &other) : diff --git a/core/src/dto/responseprofile.cpp b/core/src/dto/responseprofile.cpp index 6f6f93c..2110607 100644 --- a/core/src/dto/responseprofile.cpp +++ b/core/src/dto/responseprofile.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ResponseProfile::ResponseProfile() {} +ResponseProfile::ResponseProfile ( + DlnaProfileType type + ) : + m_type(type) { } + + ResponseProfile::ResponseProfile(const ResponseProfile &other) : diff --git a/core/src/dto/searchhint.cpp b/core/src/dto/searchhint.cpp index c7c04d5..712545f 100644 --- a/core/src/dto/searchhint.cpp +++ b/core/src/dto/searchhint.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { SearchHint::SearchHint() {} +SearchHint::SearchHint ( + QString itemId, + QString jellyfinId, + QString albumId, + QString channelId + ) : + m_itemId(itemId), + m_jellyfinId(jellyfinId), + m_albumId(albumId), + m_channelId(channelId) { } + + SearchHint::SearchHint(const SearchHint &other) : diff --git a/core/src/dto/searchhintresult.cpp b/core/src/dto/searchhintresult.cpp index 1ed89ed..a5ce234 100644 --- a/core/src/dto/searchhintresult.cpp +++ b/core/src/dto/searchhintresult.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SearchHintResult::SearchHintResult() {} +SearchHintResult::SearchHintResult ( + qint32 totalRecordCount + ) : + m_totalRecordCount(totalRecordCount) { } + + SearchHintResult::SearchHintResult(const SearchHintResult &other) : diff --git a/core/src/dto/seekrequestdto.cpp b/core/src/dto/seekrequestdto.cpp index a616bc1..01fbad7 100644 --- a/core/src/dto/seekrequestdto.cpp +++ b/core/src/dto/seekrequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SeekRequestDto::SeekRequestDto() {} +SeekRequestDto::SeekRequestDto ( + qint64 positionTicks + ) : + m_positionTicks(positionTicks) { } + + SeekRequestDto::SeekRequestDto(const SeekRequestDto &other) : diff --git a/core/src/dto/sendcommand.cpp b/core/src/dto/sendcommand.cpp index 6d32adb..c107138 100644 --- a/core/src/dto/sendcommand.cpp +++ b/core/src/dto/sendcommand.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { SendCommand::SendCommand() {} +SendCommand::SendCommand ( + QString groupId, + QString playlistItemId, + QDateTime when, + SendCommandType command, + QDateTime emittedAt + ) : + m_groupId(groupId), + m_playlistItemId(playlistItemId), + m_when(when), + m_command(command), + m_emittedAt(emittedAt) { } + + SendCommand::SendCommand(const SendCommand &other) : diff --git a/core/src/dto/seriesinfo.cpp b/core/src/dto/seriesinfo.cpp index 69f0a8b..fbe0a29 100644 --- a/core/src/dto/seriesinfo.cpp +++ b/core/src/dto/seriesinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SeriesInfo::SeriesInfo() {} +SeriesInfo::SeriesInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + SeriesInfo::SeriesInfo(const SeriesInfo &other) : diff --git a/core/src/dto/seriesinforemotesearchquery.cpp b/core/src/dto/seriesinforemotesearchquery.cpp index e68cb7e..60ecb3c 100644 --- a/core/src/dto/seriesinforemotesearchquery.cpp +++ b/core/src/dto/seriesinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery() {} +SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery(const SeriesInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/seriestimerinfodto.cpp b/core/src/dto/seriestimerinfodto.cpp index 248f00a..ba1ef20 100644 --- a/core/src/dto/seriestimerinfodto.cpp +++ b/core/src/dto/seriestimerinfodto.cpp @@ -33,6 +33,40 @@ namespace Jellyfin { namespace DTO { SeriesTimerInfoDto::SeriesTimerInfoDto() {} +SeriesTimerInfoDto::SeriesTimerInfoDto ( + QString channelId, + QDateTime startDate, + QDateTime endDate, + qint32 priority, + qint32 prePaddingSeconds, + qint32 postPaddingSeconds, + bool isPrePaddingRequired, + bool isPostPaddingRequired, + KeepUntil keepUntil, + bool recordAnyTime, + bool skipEpisodesInLibrary, + bool recordAnyChannel, + qint32 keepUpTo, + bool recordNewOnly, + DayPattern dayPattern + ) : + m_channelId(channelId), + m_startDate(startDate), + m_endDate(endDate), + m_priority(priority), + m_prePaddingSeconds(prePaddingSeconds), + m_postPaddingSeconds(postPaddingSeconds), + m_isPrePaddingRequired(isPrePaddingRequired), + m_isPostPaddingRequired(isPostPaddingRequired), + m_keepUntil(keepUntil), + m_recordAnyTime(recordAnyTime), + m_skipEpisodesInLibrary(skipEpisodesInLibrary), + m_recordAnyChannel(recordAnyChannel), + m_keepUpTo(keepUpTo), + m_recordNewOnly(recordNewOnly), + m_dayPattern(dayPattern) { } + + SeriesTimerInfoDto::SeriesTimerInfoDto(const SeriesTimerInfoDto &other) : diff --git a/core/src/dto/seriestimerinfodtoqueryresult.cpp b/core/src/dto/seriestimerinfodtoqueryresult.cpp index 7d6b144..60b3292 100644 --- a/core/src/dto/seriestimerinfodtoqueryresult.cpp +++ b/core/src/dto/seriestimerinfodtoqueryresult.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult() {} +SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult ( + qint32 totalRecordCount, + qint32 startIndex + ) : + m_totalRecordCount(totalRecordCount), + m_startIndex(startIndex) { } + + SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult(const SeriesTimerInfoDtoQueryResult &other) : diff --git a/core/src/dto/serverconfiguration.cpp b/core/src/dto/serverconfiguration.cpp index 4abeb19..63ea73f 100644 --- a/core/src/dto/serverconfiguration.cpp +++ b/core/src/dto/serverconfiguration.cpp @@ -33,6 +33,118 @@ namespace Jellyfin { namespace DTO { ServerConfiguration::ServerConfiguration() {} +ServerConfiguration::ServerConfiguration ( + qint32 logFileRetentionDays, + bool isStartupWizardCompleted, + QSharedPointer previousVersion, + bool enableUPnP, + bool enableMetrics, + qint32 publicPort, + bool uPnPCreateHttpPortMap, + bool enableIPV6, + bool enableIPV4, + bool enableSSDPTracing, + qint32 uDPSendCount, + qint32 uDPSendDelay, + bool ignoreVirtualInterfaces, + qint32 gatewayMonitorPeriod, + bool enableMultiSocketBinding, + bool trustAllIP6Interfaces, + bool autoDiscoveryTracing, + bool autoDiscovery, + qint32 publicHttpsPort, + qint32 httpServerPortNumber, + qint32 httpsPortNumber, + bool enableHttps, + bool enableNormalizedItemByNameIds, + bool isPortAuthorized, + bool quickConnectAvailable, + bool enableRemoteAccess, + bool enableCaseSensitiveItemIds, + bool disableLiveTvChannelUserDataName, + qint32 minResumePct, + qint32 maxResumePct, + qint32 minResumeDurationSeconds, + qint32 minAudiobookResume, + qint32 maxAudiobookResume, + qint32 libraryMonitorDelay, + bool enableDashboardResponseCaching, + ImageSavingConvention imageSavingConvention, + bool skipDeserializationForBasicTypes, + bool saveMetadataHidden, + qint32 remoteClientBitrateLimit, + bool enableFolderView, + bool enableGroupingIntoCollections, + bool displaySpecialsWithinSeasons, + bool enableExternalContentInSuggestions, + bool requireHttps, + bool enableNewOmdbSupport, + bool isRemoteIPFilterBlacklist, + qint32 imageExtractionTimeoutMs, + bool enableSimpleArtistDetection, + bool enableSlowResponseWarning, + qint64 slowResponseThresholdMs, + qint32 libraryScanFanoutConcurrency, + qint32 libraryMetadataRefreshConcurrency, + bool removeOldPlugins, + bool disablePluginImages + ) : + m_logFileRetentionDays(logFileRetentionDays), + m_isStartupWizardCompleted(isStartupWizardCompleted), + m_previousVersion(previousVersion), + m_enableUPnP(enableUPnP), + m_enableMetrics(enableMetrics), + m_publicPort(publicPort), + m_uPnPCreateHttpPortMap(uPnPCreateHttpPortMap), + m_enableIPV6(enableIPV6), + m_enableIPV4(enableIPV4), + m_enableSSDPTracing(enableSSDPTracing), + m_uDPSendCount(uDPSendCount), + m_uDPSendDelay(uDPSendDelay), + m_ignoreVirtualInterfaces(ignoreVirtualInterfaces), + m_gatewayMonitorPeriod(gatewayMonitorPeriod), + m_enableMultiSocketBinding(enableMultiSocketBinding), + m_trustAllIP6Interfaces(trustAllIP6Interfaces), + m_autoDiscoveryTracing(autoDiscoveryTracing), + m_autoDiscovery(autoDiscovery), + m_publicHttpsPort(publicHttpsPort), + m_httpServerPortNumber(httpServerPortNumber), + m_httpsPortNumber(httpsPortNumber), + m_enableHttps(enableHttps), + m_enableNormalizedItemByNameIds(enableNormalizedItemByNameIds), + m_isPortAuthorized(isPortAuthorized), + m_quickConnectAvailable(quickConnectAvailable), + m_enableRemoteAccess(enableRemoteAccess), + m_enableCaseSensitiveItemIds(enableCaseSensitiveItemIds), + m_disableLiveTvChannelUserDataName(disableLiveTvChannelUserDataName), + m_minResumePct(minResumePct), + m_maxResumePct(maxResumePct), + m_minResumeDurationSeconds(minResumeDurationSeconds), + m_minAudiobookResume(minAudiobookResume), + m_maxAudiobookResume(maxAudiobookResume), + m_libraryMonitorDelay(libraryMonitorDelay), + m_enableDashboardResponseCaching(enableDashboardResponseCaching), + m_imageSavingConvention(imageSavingConvention), + m_skipDeserializationForBasicTypes(skipDeserializationForBasicTypes), + m_saveMetadataHidden(saveMetadataHidden), + m_remoteClientBitrateLimit(remoteClientBitrateLimit), + m_enableFolderView(enableFolderView), + m_enableGroupingIntoCollections(enableGroupingIntoCollections), + m_displaySpecialsWithinSeasons(displaySpecialsWithinSeasons), + m_enableExternalContentInSuggestions(enableExternalContentInSuggestions), + m_requireHttps(requireHttps), + m_enableNewOmdbSupport(enableNewOmdbSupport), + m_isRemoteIPFilterBlacklist(isRemoteIPFilterBlacklist), + m_imageExtractionTimeoutMs(imageExtractionTimeoutMs), + m_enableSimpleArtistDetection(enableSimpleArtistDetection), + m_enableSlowResponseWarning(enableSlowResponseWarning), + m_slowResponseThresholdMs(slowResponseThresholdMs), + m_libraryScanFanoutConcurrency(libraryScanFanoutConcurrency), + m_libraryMetadataRefreshConcurrency(libraryMetadataRefreshConcurrency), + m_removeOldPlugins(removeOldPlugins), + m_disablePluginImages(disablePluginImages) { } + + ServerConfiguration::ServerConfiguration(const ServerConfiguration &other) : diff --git a/core/src/dto/sessioninfo.cpp b/core/src/dto/sessioninfo.cpp index 139350e..b16ab20 100644 --- a/core/src/dto/sessioninfo.cpp +++ b/core/src/dto/sessioninfo.cpp @@ -33,6 +33,36 @@ namespace Jellyfin { namespace DTO { SessionInfo::SessionInfo() {} +SessionInfo::SessionInfo ( + QSharedPointer playState, + QSharedPointer capabilities, + QString userId, + QDateTime lastActivityDate, + QDateTime lastPlaybackCheckIn, + QSharedPointer nowPlayingItem, + QSharedPointer fullNowPlayingItem, + QSharedPointer nowViewingItem, + QSharedPointer transcodingInfo, + bool isActive, + bool supportsMediaControl, + bool supportsRemoteControl, + bool hasCustomDeviceName + ) : + m_playState(playState), + m_capabilities(capabilities), + m_userId(userId), + m_lastActivityDate(lastActivityDate), + m_lastPlaybackCheckIn(lastPlaybackCheckIn), + m_nowPlayingItem(nowPlayingItem), + m_fullNowPlayingItem(fullNowPlayingItem), + m_nowViewingItem(nowViewingItem), + m_transcodingInfo(transcodingInfo), + m_isActive(isActive), + m_supportsMediaControl(supportsMediaControl), + m_supportsRemoteControl(supportsRemoteControl), + m_hasCustomDeviceName(hasCustomDeviceName) { } + + SessionInfo::SessionInfo(const SessionInfo &other) : diff --git a/core/src/dto/sessionuserinfo.cpp b/core/src/dto/sessionuserinfo.cpp index 6662a00..1584e33 100644 --- a/core/src/dto/sessionuserinfo.cpp +++ b/core/src/dto/sessionuserinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SessionUserInfo::SessionUserInfo() {} +SessionUserInfo::SessionUserInfo ( + QString userId + ) : + m_userId(userId) { } + + SessionUserInfo::SessionUserInfo(const SessionUserInfo &other) : diff --git a/core/src/dto/setchannelmappingdto.cpp b/core/src/dto/setchannelmappingdto.cpp index bbde21a..62ef140 100644 --- a/core/src/dto/setchannelmappingdto.cpp +++ b/core/src/dto/setchannelmappingdto.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { SetChannelMappingDto::SetChannelMappingDto() {} +SetChannelMappingDto::SetChannelMappingDto ( + QString providerId, + QString tunerChannelId, + QString providerChannelId + ) : + m_providerId(providerId), + m_tunerChannelId(tunerChannelId), + m_providerChannelId(providerChannelId) { } + + SetChannelMappingDto::SetChannelMappingDto(const SetChannelMappingDto &other) : diff --git a/core/src/dto/setplaylistitemrequestdto.cpp b/core/src/dto/setplaylistitemrequestdto.cpp index 0ea9382..3f989a2 100644 --- a/core/src/dto/setplaylistitemrequestdto.cpp +++ b/core/src/dto/setplaylistitemrequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SetPlaylistItemRequestDto::SetPlaylistItemRequestDto() {} +SetPlaylistItemRequestDto::SetPlaylistItemRequestDto ( + QString playlistItemId + ) : + m_playlistItemId(playlistItemId) { } + + SetPlaylistItemRequestDto::SetPlaylistItemRequestDto(const SetPlaylistItemRequestDto &other) : diff --git a/core/src/dto/setrepeatmoderequestdto.cpp b/core/src/dto/setrepeatmoderequestdto.cpp index 2151f92..d4747e3 100644 --- a/core/src/dto/setrepeatmoderequestdto.cpp +++ b/core/src/dto/setrepeatmoderequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SetRepeatModeRequestDto::SetRepeatModeRequestDto() {} +SetRepeatModeRequestDto::SetRepeatModeRequestDto ( + GroupRepeatMode mode + ) : + m_mode(mode) { } + + SetRepeatModeRequestDto::SetRepeatModeRequestDto(const SetRepeatModeRequestDto &other) : diff --git a/core/src/dto/setshufflemoderequestdto.cpp b/core/src/dto/setshufflemoderequestdto.cpp index 494cfdb..951d04e 100644 --- a/core/src/dto/setshufflemoderequestdto.cpp +++ b/core/src/dto/setshufflemoderequestdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SetShuffleModeRequestDto::SetShuffleModeRequestDto() {} +SetShuffleModeRequestDto::SetShuffleModeRequestDto ( + GroupShuffleMode mode + ) : + m_mode(mode) { } + + SetShuffleModeRequestDto::SetShuffleModeRequestDto(const SetShuffleModeRequestDto &other) : diff --git a/core/src/dto/songinfo.cpp b/core/src/dto/songinfo.cpp index 008ef39..82e8709 100644 --- a/core/src/dto/songinfo.cpp +++ b/core/src/dto/songinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SongInfo::SongInfo() {} +SongInfo::SongInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + SongInfo::SongInfo(const SongInfo &other) : diff --git a/core/src/dto/startupremoteaccessdto.cpp b/core/src/dto/startupremoteaccessdto.cpp index 4c95a5b..839d10c 100644 --- a/core/src/dto/startupremoteaccessdto.cpp +++ b/core/src/dto/startupremoteaccessdto.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { StartupRemoteAccessDto::StartupRemoteAccessDto() {} +StartupRemoteAccessDto::StartupRemoteAccessDto ( + bool enableRemoteAccess, + bool enableAutomaticPortMapping + ) : + m_enableRemoteAccess(enableRemoteAccess), + m_enableAutomaticPortMapping(enableAutomaticPortMapping) { } + + StartupRemoteAccessDto::StartupRemoteAccessDto(const StartupRemoteAccessDto &other) : diff --git a/core/src/dto/subtitleprofile.cpp b/core/src/dto/subtitleprofile.cpp index f28085d..fe8756e 100644 --- a/core/src/dto/subtitleprofile.cpp +++ b/core/src/dto/subtitleprofile.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { SubtitleProfile::SubtitleProfile() {} +SubtitleProfile::SubtitleProfile ( + SubtitleDeliveryMethod method + ) : + m_method(method) { } + + SubtitleProfile::SubtitleProfile(const SubtitleProfile &other) : diff --git a/core/src/dto/systeminfo.cpp b/core/src/dto/systeminfo.cpp index b3d1b9b..4aff8ce 100644 --- a/core/src/dto/systeminfo.cpp +++ b/core/src/dto/systeminfo.cpp @@ -33,6 +33,28 @@ namespace Jellyfin { namespace DTO { SystemInfo::SystemInfo() {} +SystemInfo::SystemInfo ( + bool hasPendingRestart, + bool isShuttingDown, + bool supportsLibraryMonitor, + qint32 webSocketPortNumber, + bool canSelfRestart, + bool canLaunchWebBrowser, + bool hasUpdateAvailable, + FFmpegLocation encoderLocation, + Architecture systemArchitecture + ) : + m_hasPendingRestart(hasPendingRestart), + m_isShuttingDown(isShuttingDown), + m_supportsLibraryMonitor(supportsLibraryMonitor), + m_webSocketPortNumber(webSocketPortNumber), + m_canSelfRestart(canSelfRestart), + m_canLaunchWebBrowser(canLaunchWebBrowser), + m_hasUpdateAvailable(hasUpdateAvailable), + m_encoderLocation(encoderLocation), + m_systemArchitecture(systemArchitecture) { } + + SystemInfo::SystemInfo(const SystemInfo &other) : diff --git a/core/src/dto/taskinfo.cpp b/core/src/dto/taskinfo.cpp index 1126d60..ffae428 100644 --- a/core/src/dto/taskinfo.cpp +++ b/core/src/dto/taskinfo.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { TaskInfo::TaskInfo() {} +TaskInfo::TaskInfo ( + TaskState state, + QSharedPointer lastExecutionResult, + bool isHidden + ) : + m_state(state), + m_lastExecutionResult(lastExecutionResult), + m_isHidden(isHidden) { } + + TaskInfo::TaskInfo(const TaskInfo &other) : diff --git a/core/src/dto/taskresult.cpp b/core/src/dto/taskresult.cpp index 613564b..d7168a1 100644 --- a/core/src/dto/taskresult.cpp +++ b/core/src/dto/taskresult.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { TaskResult::TaskResult() {} +TaskResult::TaskResult ( + QDateTime startTimeUtc, + QDateTime endTimeUtc, + TaskCompletionStatus status + ) : + m_startTimeUtc(startTimeUtc), + m_endTimeUtc(endTimeUtc), + m_status(status) { } + + TaskResult::TaskResult(const TaskResult &other) : diff --git a/core/src/dto/tasktriggerinfo.cpp b/core/src/dto/tasktriggerinfo.cpp index 17c9da5..be069b1 100644 --- a/core/src/dto/tasktriggerinfo.cpp +++ b/core/src/dto/tasktriggerinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { TaskTriggerInfo::TaskTriggerInfo() {} +TaskTriggerInfo::TaskTriggerInfo ( + DayOfWeek dayOfWeek + ) : + m_dayOfWeek(dayOfWeek) { } + + TaskTriggerInfo::TaskTriggerInfo(const TaskTriggerInfo &other) : diff --git a/core/src/dto/thememediaresult.cpp b/core/src/dto/thememediaresult.cpp index 65fb016..cf675b3 100644 --- a/core/src/dto/thememediaresult.cpp +++ b/core/src/dto/thememediaresult.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { ThemeMediaResult::ThemeMediaResult() {} +ThemeMediaResult::ThemeMediaResult ( + qint32 totalRecordCount, + qint32 startIndex, + QString ownerId + ) : + m_totalRecordCount(totalRecordCount), + m_startIndex(startIndex), + m_ownerId(ownerId) { } + + ThemeMediaResult::ThemeMediaResult(const ThemeMediaResult &other) : diff --git a/core/src/dto/timerinfodto.cpp b/core/src/dto/timerinfodto.cpp index a78a04a..1d82ff1 100644 --- a/core/src/dto/timerinfodto.cpp +++ b/core/src/dto/timerinfodto.cpp @@ -33,6 +33,32 @@ namespace Jellyfin { namespace DTO { TimerInfoDto::TimerInfoDto() {} +TimerInfoDto::TimerInfoDto ( + QString channelId, + QDateTime startDate, + QDateTime endDate, + qint32 priority, + qint32 prePaddingSeconds, + qint32 postPaddingSeconds, + bool isPrePaddingRequired, + bool isPostPaddingRequired, + KeepUntil keepUntil, + RecordingStatus status, + QSharedPointer programInfo + ) : + m_channelId(channelId), + m_startDate(startDate), + m_endDate(endDate), + m_priority(priority), + m_prePaddingSeconds(prePaddingSeconds), + m_postPaddingSeconds(postPaddingSeconds), + m_isPrePaddingRequired(isPrePaddingRequired), + m_isPostPaddingRequired(isPostPaddingRequired), + m_keepUntil(keepUntil), + m_status(status), + m_programInfo(programInfo) { } + + TimerInfoDto::TimerInfoDto(const TimerInfoDto &other) : diff --git a/core/src/dto/timerinfodtoqueryresult.cpp b/core/src/dto/timerinfodtoqueryresult.cpp index e034e0b..6b3b710 100644 --- a/core/src/dto/timerinfodtoqueryresult.cpp +++ b/core/src/dto/timerinfodtoqueryresult.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { TimerInfoDtoQueryResult::TimerInfoDtoQueryResult() {} +TimerInfoDtoQueryResult::TimerInfoDtoQueryResult ( + qint32 totalRecordCount, + qint32 startIndex + ) : + m_totalRecordCount(totalRecordCount), + m_startIndex(startIndex) { } + + TimerInfoDtoQueryResult::TimerInfoDtoQueryResult(const TimerInfoDtoQueryResult &other) : diff --git a/core/src/dto/trailerinfo.cpp b/core/src/dto/trailerinfo.cpp index ce1b412..fc555e8 100644 --- a/core/src/dto/trailerinfo.cpp +++ b/core/src/dto/trailerinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { TrailerInfo::TrailerInfo() {} +TrailerInfo::TrailerInfo ( + bool isAutomated + ) : + m_isAutomated(isAutomated) { } + + TrailerInfo::TrailerInfo(const TrailerInfo &other) : diff --git a/core/src/dto/trailerinforemotesearchquery.cpp b/core/src/dto/trailerinforemotesearchquery.cpp index 92a19de..740faec 100644 --- a/core/src/dto/trailerinforemotesearchquery.cpp +++ b/core/src/dto/trailerinforemotesearchquery.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery() {} +TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery ( + QSharedPointer searchInfo, + QString itemId, + bool includeDisabledProviders + ) : + m_searchInfo(searchInfo), + m_itemId(itemId), + m_includeDisabledProviders(includeDisabledProviders) { } + + TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery(const TrailerInfoRemoteSearchQuery &other) : diff --git a/core/src/dto/transcodinginfo.cpp b/core/src/dto/transcodinginfo.cpp index d64ec4f..d2689dd 100644 --- a/core/src/dto/transcodinginfo.cpp +++ b/core/src/dto/transcodinginfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { TranscodingInfo::TranscodingInfo() {} +TranscodingInfo::TranscodingInfo ( + bool isVideoDirect, + bool isAudioDirect + ) : + m_isVideoDirect(isVideoDirect), + m_isAudioDirect(isAudioDirect) { } + + TranscodingInfo::TranscodingInfo(const TranscodingInfo &other) : diff --git a/core/src/dto/transcodingprofile.cpp b/core/src/dto/transcodingprofile.cpp index 6780825..373ceb8 100644 --- a/core/src/dto/transcodingprofile.cpp +++ b/core/src/dto/transcodingprofile.cpp @@ -33,6 +33,30 @@ namespace Jellyfin { namespace DTO { TranscodingProfile::TranscodingProfile() {} +TranscodingProfile::TranscodingProfile ( + DlnaProfileType type, + bool estimateContentLength, + bool enableMpegtsM2TsMode, + TranscodeSeekInfo transcodeSeekInfo, + bool copyTimestamps, + EncodingContext context, + bool enableSubtitlesInManifest, + qint32 minSegments, + qint32 segmentLength, + bool breakOnNonKeyFrames + ) : + m_type(type), + m_estimateContentLength(estimateContentLength), + m_enableMpegtsM2TsMode(enableMpegtsM2TsMode), + m_transcodeSeekInfo(transcodeSeekInfo), + m_copyTimestamps(copyTimestamps), + m_context(context), + m_enableSubtitlesInManifest(enableSubtitlesInManifest), + m_minSegments(minSegments), + m_segmentLength(segmentLength), + m_breakOnNonKeyFrames(breakOnNonKeyFrames) { } + + TranscodingProfile::TranscodingProfile(const TranscodingProfile &other) : diff --git a/core/src/dto/tunerhostinfo.cpp b/core/src/dto/tunerhostinfo.cpp index 1dd037c..f9f17af 100644 --- a/core/src/dto/tunerhostinfo.cpp +++ b/core/src/dto/tunerhostinfo.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { TunerHostInfo::TunerHostInfo() {} +TunerHostInfo::TunerHostInfo ( + bool importFavoritesOnly, + bool allowHWTranscoding, + bool enableStreamLooping, + qint32 tunerCount + ) : + m_importFavoritesOnly(importFavoritesOnly), + m_allowHWTranscoding(allowHWTranscoding), + m_enableStreamLooping(enableStreamLooping), + m_tunerCount(tunerCount) { } + + TunerHostInfo::TunerHostInfo(const TunerHostInfo &other) : diff --git a/core/src/dto/updatelibraryoptionsdto.cpp b/core/src/dto/updatelibraryoptionsdto.cpp index 02a0ea7..847e451 100644 --- a/core/src/dto/updatelibraryoptionsdto.cpp +++ b/core/src/dto/updatelibraryoptionsdto.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { UpdateLibraryOptionsDto::UpdateLibraryOptionsDto() {} +UpdateLibraryOptionsDto::UpdateLibraryOptionsDto ( + QString jellyfinId, + QSharedPointer libraryOptions + ) : + m_jellyfinId(jellyfinId), + m_libraryOptions(libraryOptions) { } + + UpdateLibraryOptionsDto::UpdateLibraryOptionsDto(const UpdateLibraryOptionsDto &other) : diff --git a/core/src/dto/updateusereasypassword.cpp b/core/src/dto/updateusereasypassword.cpp index d711429..6b0ca03 100644 --- a/core/src/dto/updateusereasypassword.cpp +++ b/core/src/dto/updateusereasypassword.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { UpdateUserEasyPassword::UpdateUserEasyPassword() {} +UpdateUserEasyPassword::UpdateUserEasyPassword ( + bool resetPassword + ) : + m_resetPassword(resetPassword) { } + + UpdateUserEasyPassword::UpdateUserEasyPassword(const UpdateUserEasyPassword &other) : diff --git a/core/src/dto/updateuserpassword.cpp b/core/src/dto/updateuserpassword.cpp index f7287ef..8ce8425 100644 --- a/core/src/dto/updateuserpassword.cpp +++ b/core/src/dto/updateuserpassword.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { UpdateUserPassword::UpdateUserPassword() {} +UpdateUserPassword::UpdateUserPassword ( + bool resetPassword + ) : + m_resetPassword(resetPassword) { } + + UpdateUserPassword::UpdateUserPassword(const UpdateUserPassword &other) : diff --git a/core/src/dto/uploadsubtitledto.cpp b/core/src/dto/uploadsubtitledto.cpp index d1a722d..ea04cbf 100644 --- a/core/src/dto/uploadsubtitledto.cpp +++ b/core/src/dto/uploadsubtitledto.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { UploadSubtitleDto::UploadSubtitleDto() {} +UploadSubtitleDto::UploadSubtitleDto ( + QString language, + QString format, + bool isForced, + QString data + ) : + m_language(language), + m_format(format), + m_isForced(isForced), + m_data(data) { } + + UploadSubtitleDto::UploadSubtitleDto(const UploadSubtitleDto &other) : diff --git a/core/src/dto/userconfiguration.cpp b/core/src/dto/userconfiguration.cpp index 3a51866..94b76a6 100644 --- a/core/src/dto/userconfiguration.cpp +++ b/core/src/dto/userconfiguration.cpp @@ -33,6 +33,28 @@ namespace Jellyfin { namespace DTO { UserConfiguration::UserConfiguration() {} +UserConfiguration::UserConfiguration ( + bool playDefaultAudioTrack, + bool displayMissingEpisodes, + SubtitlePlaybackMode subtitleMode, + bool displayCollectionsView, + bool enableLocalPassword, + bool hidePlayedInLatest, + bool rememberAudioSelections, + bool rememberSubtitleSelections, + bool enableNextEpisodeAutoPlay + ) : + m_playDefaultAudioTrack(playDefaultAudioTrack), + m_displayMissingEpisodes(displayMissingEpisodes), + m_subtitleMode(subtitleMode), + m_displayCollectionsView(displayCollectionsView), + m_enableLocalPassword(enableLocalPassword), + m_hidePlayedInLatest(hidePlayedInLatest), + m_rememberAudioSelections(rememberAudioSelections), + m_rememberSubtitleSelections(rememberSubtitleSelections), + m_enableNextEpisodeAutoPlay(enableNextEpisodeAutoPlay) { } + + UserConfiguration::UserConfiguration(const UserConfiguration &other) : diff --git a/core/src/dto/userdto.cpp b/core/src/dto/userdto.cpp index c2ba44d..f092381 100644 --- a/core/src/dto/userdto.cpp +++ b/core/src/dto/userdto.cpp @@ -33,6 +33,22 @@ namespace Jellyfin { namespace DTO { UserDto::UserDto() {} +UserDto::UserDto ( + QString jellyfinId, + bool hasPassword, + bool hasConfiguredPassword, + bool hasConfiguredEasyPassword, + QSharedPointer configuration, + QSharedPointer policy + ) : + m_jellyfinId(jellyfinId), + m_hasPassword(hasPassword), + m_hasConfiguredPassword(hasConfiguredPassword), + m_hasConfiguredEasyPassword(hasConfiguredEasyPassword), + m_configuration(configuration), + m_policy(policy) { } + + UserDto::UserDto(const UserDto &other) : diff --git a/core/src/dto/useritemdatadto.cpp b/core/src/dto/useritemdatadto.cpp index 688ee3d..bdf4cd1 100644 --- a/core/src/dto/useritemdatadto.cpp +++ b/core/src/dto/useritemdatadto.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { UserItemDataDto::UserItemDataDto() {} +UserItemDataDto::UserItemDataDto ( + qint64 playbackPositionTicks, + qint32 playCount, + bool isFavorite, + bool played + ) : + m_playbackPositionTicks(playbackPositionTicks), + m_playCount(playCount), + m_isFavorite(isFavorite), + m_played(played) { } + + UserItemDataDto::UserItemDataDto(const UserItemDataDto &other) : diff --git a/core/src/dto/userpolicy.cpp b/core/src/dto/userpolicy.cpp index 78c6a1d..d303ba5 100644 --- a/core/src/dto/userpolicy.cpp +++ b/core/src/dto/userpolicy.cpp @@ -33,6 +33,64 @@ namespace Jellyfin { namespace DTO { UserPolicy::UserPolicy() {} +UserPolicy::UserPolicy ( + bool isAdministrator, + bool isHidden, + bool isDisabled, + bool enableUserPreferenceAccess, + bool enableRemoteControlOfOtherUsers, + bool enableSharedDeviceControl, + bool enableRemoteAccess, + bool enableLiveTvManagement, + bool enableLiveTvAccess, + bool enableMediaPlayback, + bool enableAudioPlaybackTranscoding, + bool enableVideoPlaybackTranscoding, + bool enablePlaybackRemuxing, + bool forceRemoteSourceTranscoding, + bool enableContentDeletion, + bool enableContentDownloading, + bool enableSyncTranscoding, + bool enableMediaConversion, + bool enableAllDevices, + bool enableAllChannels, + bool enableAllFolders, + qint32 invalidLoginAttemptCount, + qint32 loginAttemptsBeforeLockout, + qint32 maxActiveSessions, + bool enablePublicSharing, + qint32 remoteClientBitrateLimit, + SyncPlayUserAccessType syncPlayAccess + ) : + m_isAdministrator(isAdministrator), + m_isHidden(isHidden), + m_isDisabled(isDisabled), + m_enableUserPreferenceAccess(enableUserPreferenceAccess), + m_enableRemoteControlOfOtherUsers(enableRemoteControlOfOtherUsers), + m_enableSharedDeviceControl(enableSharedDeviceControl), + m_enableRemoteAccess(enableRemoteAccess), + m_enableLiveTvManagement(enableLiveTvManagement), + m_enableLiveTvAccess(enableLiveTvAccess), + m_enableMediaPlayback(enableMediaPlayback), + m_enableAudioPlaybackTranscoding(enableAudioPlaybackTranscoding), + m_enableVideoPlaybackTranscoding(enableVideoPlaybackTranscoding), + m_enablePlaybackRemuxing(enablePlaybackRemuxing), + m_forceRemoteSourceTranscoding(forceRemoteSourceTranscoding), + m_enableContentDeletion(enableContentDeletion), + m_enableContentDownloading(enableContentDownloading), + m_enableSyncTranscoding(enableSyncTranscoding), + m_enableMediaConversion(enableMediaConversion), + m_enableAllDevices(enableAllDevices), + m_enableAllChannels(enableAllChannels), + m_enableAllFolders(enableAllFolders), + m_invalidLoginAttemptCount(invalidLoginAttemptCount), + m_loginAttemptsBeforeLockout(loginAttemptsBeforeLockout), + m_maxActiveSessions(maxActiveSessions), + m_enablePublicSharing(enablePublicSharing), + m_remoteClientBitrateLimit(remoteClientBitrateLimit), + m_syncPlayAccess(syncPlayAccess) { } + + UserPolicy::UserPolicy(const UserPolicy &other) : diff --git a/core/src/dto/utctimeresponse.cpp b/core/src/dto/utctimeresponse.cpp index ef9110f..461803e 100644 --- a/core/src/dto/utctimeresponse.cpp +++ b/core/src/dto/utctimeresponse.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { UtcTimeResponse::UtcTimeResponse() {} +UtcTimeResponse::UtcTimeResponse ( + QDateTime requestReceptionTime, + QDateTime responseTransmissionTime + ) : + m_requestReceptionTime(requestReceptionTime), + m_responseTransmissionTime(responseTransmissionTime) { } + + UtcTimeResponse::UtcTimeResponse(const UtcTimeResponse &other) : diff --git a/core/src/dto/validatepathdto.cpp b/core/src/dto/validatepathdto.cpp index d41fcf0..94de37d 100644 --- a/core/src/dto/validatepathdto.cpp +++ b/core/src/dto/validatepathdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ValidatePathDto::ValidatePathDto() {} +ValidatePathDto::ValidatePathDto ( + bool validateWritable + ) : + m_validateWritable(validateWritable) { } + + ValidatePathDto::ValidatePathDto(const ValidatePathDto &other) : diff --git a/core/src/dto/version.cpp b/core/src/dto/version.cpp index e6febfb..fc98883 100644 --- a/core/src/dto/version.cpp +++ b/core/src/dto/version.cpp @@ -33,6 +33,22 @@ namespace Jellyfin { namespace DTO { Version::Version() {} +Version::Version ( + qint32 major, + qint32 minor, + qint32 build, + qint32 revision, + qint32 majorRevision, + qint32 minorRevision + ) : + m_major(major), + m_minor(minor), + m_build(build), + m_revision(revision), + m_majorRevision(majorRevision), + m_minorRevision(minorRevision) { } + + Version::Version(const Version &other) : diff --git a/core/src/dto/versioninfo.cpp b/core/src/dto/versioninfo.cpp index be10817..7131750 100644 --- a/core/src/dto/versioninfo.cpp +++ b/core/src/dto/versioninfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { VersionInfo::VersionInfo() {} +VersionInfo::VersionInfo ( + QSharedPointer versionNumber + ) : + m_versionNumber(versionNumber) { } + + VersionInfo::VersionInfo(const VersionInfo &other) : diff --git a/core/src/dto/virtualfolderinfo.cpp b/core/src/dto/virtualfolderinfo.cpp index b3acbff..10640b9 100644 --- a/core/src/dto/virtualfolderinfo.cpp +++ b/core/src/dto/virtualfolderinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { VirtualFolderInfo::VirtualFolderInfo() {} +VirtualFolderInfo::VirtualFolderInfo ( + QSharedPointer libraryOptions + ) : + m_libraryOptions(libraryOptions) { } + + VirtualFolderInfo::VirtualFolderInfo(const VirtualFolderInfo &other) : diff --git a/core/src/dto/wakeonlaninfo.cpp b/core/src/dto/wakeonlaninfo.cpp index 0b1bad8..53307de 100644 --- a/core/src/dto/wakeonlaninfo.cpp +++ b/core/src/dto/wakeonlaninfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { WakeOnLanInfo::WakeOnLanInfo() {} +WakeOnLanInfo::WakeOnLanInfo ( + qint32 port + ) : + m_port(port) { } + + WakeOnLanInfo::WakeOnLanInfo(const WakeOnLanInfo &other) : diff --git a/core/src/model/deviceprofile.cpp b/core/src/model/deviceprofile.cpp index f267310..ba5363a 100644 --- a/core/src/model/deviceprofile.cpp +++ b/core/src/model/deviceprofile.cpp @@ -26,12 +26,8 @@ DTO::ProfileCondition createCondition(DTO::ProfileConditionValue property, DTO::ProfileConditionType condition, const QString &value, bool isRequired = true) { - DTO::ProfileCondition result; - result.setProperty(property); - result.setCondition(condition); + DTO::ProfileCondition result(condition, property, isRequired); result.setValue(value); - result.setIsRequired(isRequired); - return result; } @@ -58,7 +54,6 @@ int DeviceProfile::maxStreamingBitrate() { DTO::DeviceProfile DeviceProfile::generateProfile() { using JsonPair = QPair; - DTO::DeviceProfile profile; QStringList audioCodes = { "aac", @@ -99,7 +94,7 @@ DTO::DeviceProfile DeviceProfile::generateProfile() { // AAC - DTO::CodecProfile codecProfile1; + DTO::CodecProfile codecProfile1(DTO::CodecType::VideoAudio); codecProfile1.setCodec("aac"); QList codecProfile1Conditions; codecProfile1Conditions.append(createCondition(CondVal::IsSecondaryAudio, @@ -107,10 +102,9 @@ DTO::DeviceProfile DeviceProfile::generateProfile() { "false", false)); codecProfile1.setConditions(codecProfile1Conditions); - codecProfile1.setType(DTO::CodecType::VideoAudio); - DTO::CodecProfile codecProfile2; + DTO::CodecProfile codecProfile2(DTO::CodecType::Video); codecProfile2.setCodec("h264"); codecProfile2.setConditions({ createCondition(CondVal::IsAnamorphic, @@ -126,67 +120,89 @@ DTO::DeviceProfile DeviceProfile::generateProfile() { Condition::NotEquals, "true", false) }); - codecProfile2.setType(DTO::CodecType::Video); + QList codecProfiles = { codecProfile1, codecProfile2 }; // Hard coded nr 1: - DTO::TranscodingProfile transcoding1; + DTO::TranscodingProfile transcoding1(DTO::DlnaProfileType::Audio, + false, // estimeateContentLength + false, // enable MPEG2 TS M2 mode + DTO::TranscodeSeekInfo::Auto, + false, // copyTimestamps + DTO::EncodingContext::Streaming, + false, // enable subtitles in manifest + 0, // minSegments + 0, // minSegmentLength + true // set break on nonkeyframes + ); transcoding1.setAudioCodec("aac"); - transcoding1.setBreakOnNonKeyFrames(true); transcoding1.setContainer("ts"); - transcoding1.setContext(DTO::EncodingContext::Streaming); transcoding1.setMaxAudioChannels("2"); - transcoding1.setMinSegments(1); transcoding1.setProtocol("hls"); - transcoding1.setTranscodeSeekInfo(DTO::TranscodeSeekInfo::Auto); - transcoding1.setType(DTO::DlnaProfileType::Audio); + // Hard code nr 2 - DTO::TranscodingProfile transcoding2; + DTO::TranscodingProfile transcoding2(DTO::DlnaProfileType::Video, + false, // estimate content length + false, // enable MPEG2 ts M2 mode + DTO::TranscodeSeekInfo::Auto, + false, // copy timestamps + DTO::EncodingContext::Streaming, + false, // enable subtitles in manifest + 0, // minSegments + 0, // minSegmentLength + true // set break on non-keyframes + ); transcoding2.setAudioCodec("mp3,aac"); - transcoding2.setBreakOnNonKeyFrames(true); transcoding2.setContainer("ts"); - transcoding2.setContext(DTO::EncodingContext::Streaming); transcoding2.setMaxAudioChannels("2"); - transcoding2.setMinSegments(1); transcoding2.setProtocol("hls"); - transcoding2.setTranscodeSeekInfo(DTO::TranscodeSeekInfo::Auto); - transcoding2.setType(DTO::DlnaProfileType::Video); transcoding2.setVideoCodec("h264"); // Fallback - DTO::TranscodingProfile transcoding3; + DTO::TranscodingProfile transcoding3(DTO::DlnaProfileType::Video, + false, // estimate content length + false, // enable MPEG2 ts M2 mode + DTO::TranscodeSeekInfo::Auto, + false, // copy timestamps + DTO::EncodingContext::Static, + false, // enable subtitles in manifest + 0, // minSegments + 0, // minSegmentLength + true // set break on non-keyframes + ); transcoding3.setContainer("mp4"); - transcoding3.setType(DTO::DlnaProfileType::Video); transcoding3.setAudioCodec(videoAudioCodecs.join(',')); transcoding3.setVideoCodec("h264"); - transcoding3.setContext(DTO::EncodingContext::Static); transcoding3.setProtocol("http"); - transcoding3.setTranscodeSeekInfo(DTO::TranscodeSeekInfo::Auto); QList transcodingProfiles = { transcoding1, transcoding2, transcoding3 }; if (supportsHls() && !hlsVideoAudioCodecs.isEmpty()) { - DTO::TranscodingProfile transcoding4; + DTO::TranscodingProfile transcoding4(DTO::DlnaProfileType::Video, + false, // estimate content length + false, // enable MPEG2 ts M2 mode + DTO::TranscodeSeekInfo::Auto, + false, // copy timestamps + DTO::EncodingContext::Streaming, + false, // enable subtitles in manifest + 1, // minSegments + 0, // minSegmentLength + true // set break on non-keyframes + ); transcoding4.setContainer("ts"); - transcoding4.setType(DTO::DlnaProfileType::Video); transcoding4.setAudioCodec(hlsVideoAudioCodecs.join(',')); transcoding4.setVideoCodec(hlsVideoCodecs.join(',')); - transcoding4.setContext(DTO::EncodingContext::Streaming); transcoding4.setProtocol("hls"); transcoding4.setMaxAudioChannels("2"); - transcoding4.setMinSegments(1); - transcoding4.setBreakOnNonKeyFrames(true); - transcoding4.setTranscodeSeekInfo(DTO::TranscodeSeekInfo::Auto); transcodingProfiles.append(transcoding4); } // Response profiles (or whatever it actually does?) - DTO::ResponseProfile responseProfile1; - responseProfile1.setType(DTO::DlnaProfileType::Video); + DTO::ResponseProfile responseProfile1(DTO::DlnaProfileType::Video); responseProfile1.setContainer("m4v"); responseProfile1.setMimeType("video/mp4"); QList responseProfiles = { @@ -195,15 +211,13 @@ DTO::DeviceProfile DeviceProfile::generateProfile() { // Direct play profiles // Video - DTO::DirectPlayProfile directPlayProfile1; + DTO::DirectPlayProfile directPlayProfile1(DTO::DlnaProfileType::Video); directPlayProfile1.setContainer("mp4,m4v"); - directPlayProfile1.setType(DTO::DlnaProfileType::Video); directPlayProfile1.setVideoCodec(mp4VideoCodecs.join(',')); directPlayProfile1.setAudioCodec(videoAudioCodecs.join(',')); - DTO::DirectPlayProfile directPlayProfile2; + DTO::DirectPlayProfile directPlayProfile2(DTO::DlnaProfileType::Video); directPlayProfile2.setContainer("mkv"); - directPlayProfile2.setType(DTO::DlnaProfileType::Video); directPlayProfile2.setVideoCodec(mp4VideoCodecs.join(',')); directPlayProfile2.setAudioCodec(videoAudioCodecs.join(',')); @@ -213,35 +227,42 @@ DTO::DeviceProfile DeviceProfile::generateProfile() { // Audio for (auto it = audioCodes.begin(); it != audioCodes.end(); it++) { if (*it == "mp2") { - DTO::DirectPlayProfile profile; + DTO::DirectPlayProfile profile(DTO::DlnaProfileType::Audio); profile.setContainer("mp2,mp3"); - profile.setType(DTO::DlnaProfileType::Audio); profile.setAudioCodec("mp2"); directPlayProfiles.append(profile); } else if(*it == "mp3") { - DTO::DirectPlayProfile profile; + DTO::DirectPlayProfile profile(DTO::DlnaProfileType::Audio); profile.setContainer("mp3"); - profile.setType(DTO::DlnaProfileType::Audio); profile.setAudioCodec("mp3"); directPlayProfiles.append(profile); } else if (*it == "webma") { - DTO::DirectPlayProfile profile; + DTO::DirectPlayProfile profile(DTO::DlnaProfileType::Audio); profile.setContainer("webma,webm"); - profile.setType(DTO::DlnaProfileType::Audio); directPlayProfiles.append(profile); } else { - DTO::DirectPlayProfile profile; + DTO::DirectPlayProfile profile(DTO::DlnaProfileType::Audio); profile.setContainer(*it); - profile.setType(DTO::DlnaProfileType::Audio); directPlayProfiles.append(profile); } } + DTO::DeviceProfile profile( + QSharedPointer::create(), + false, // enableAlbumArtInDidl + false, // enableSingleAlbumArtLimit + false, // enableSingleSubtitleLimit + std::numeric_limits().max(), // max album art width + std::numeric_limits().max(), // max album art height + 0, // timeline offset seconds + false, // request plain video items + false, // request plain folders + false, // enableMSMediaReceiverRegistrar, + false //ignoreTranscodeByteRangeRequests + ); profile.setCodecProfiles(codecProfiles); - //profile["ContainerProfiles"] = QJsonArray(); profile.setDirectPlayProfiles(directPlayProfiles); profile.setResponseProfiles(responseProfiles); - //profile["SubtitleProfiles"] = QJsonArray(); profile.setTranscodingProfiles(transcodingProfiles); profile.setMaxStreamingBitrate(std::make_optional(maxStreamingBitrate())); return profile; diff --git a/core/src/model/item.cpp b/core/src/model/item.cpp index 22c0510..30583f0 100644 --- a/core/src/model/item.cpp +++ b/core/src/model/item.cpp @@ -23,8 +23,22 @@ namespace Jellyfin { namespace Model { -Item::Item(QObject *parent) - : Item(DTO::BaseItemDto(), nullptr, parent) { } +Item::Item(ApiClient *apiClient, QObject *parent) + : Item(DTO::BaseItemDto( + QString(), // id + Video3DFormat::EnumNotSet, + PlayAccess::Full, + QSharedPointer::create(0, 0, false, false), + VideoType::EnumNotSet, + LocationType::Virtual, + IsoType::EnumNotSet, + ImageOrientation::EnumNotSet, + ChannelType::EnumNotSet, + ProgramAudio::EnumNotSet, + QSharedPointer(nullptr) + ), + apiClient, parent) { +} Item::Item(const DTO::BaseItemDto &data, ApiClient *apiClient, QObject *parent) : DTO::BaseItemDto(data), diff --git a/core/src/model/user.cpp b/core/src/model/user.cpp index a5e5e59..8409d9f 100644 --- a/core/src/model/user.cpp +++ b/core/src/model/user.cpp @@ -22,7 +22,10 @@ namespace Jellyfin { namespace Model { -User::User() {} +User::User(ApiClient *apiClient) + : DTO::UserDto(QString(), false, false, false, + QSharedPointer(), QSharedPointer()) { +} User::User(const DTO::UserDto &other, ApiClient *apiClient) : DTO::UserDto(other) { diff --git a/core/src/viewmodel/item.cpp b/core/src/viewmodel/item.cpp index 14c5d78..029e3be 100644 --- a/core/src/viewmodel/item.cpp +++ b/core/src/viewmodel/item.cpp @@ -85,7 +85,7 @@ void Item::setUserData(DTO::UserItemDataDto &newData) { void Item::setUserData(QSharedPointer newData) { if (m_data.isNull() || m_data->userData().isNull()) { - m_userData->setData(QSharedPointer::create()); + m_userData->setData(QSharedPointer::create(0, 0, false, false)); } else { m_userData->setData(newData); } diff --git a/core/src/viewmodel/playbackmanager.cpp b/core/src/viewmodel/playbackmanager.cpp index 9b36530..41c3534 100644 --- a/core/src/viewmodel/playbackmanager.cpp +++ b/core/src/viewmodel/playbackmanager.cpp @@ -414,33 +414,31 @@ void PlaybackManager::handlePlaystateRequest(const DTO::PlaystateRequest &reques } void PlaybackManager::postPlaybackInfo(PlaybackInfoType type) { - DTO::PlaybackProgressInfo progress; - if (m_item == nullptr) { - qWarning() << "Item is null. Not posting playback info"; + qCWarning(playbackManager) << "Item is null. Not posting playback info"; return; } - progress.setItemId(Support::toString(m_item->jellyfinId())); + DTO::PlaybackProgressInfo progress( + seekable(), + m_item, + m_item->jellyfinId(), + playbackState() == QMediaPlayer::PausedState, + false, // is muted? + m_playMethod, + DTO::RepeatMode::RepeatNone); + progress.setSessionId(m_playSessionId); - progress.setRepeatMode(DTO::RepeatMode::RepeatNone); switch(type) { case Started: // FALLTHROUGH case Progress: { - progress.setCanSeek(seekable()); - progress.setIsPaused(m_mediaPlayer->state() == QMediaPlayer::PausedState); - progress.setIsMuted(false); - progress.setAudioStreamIndex(m_audioIndex); progress.setSubtitleStreamIndex(m_subtitleIndex); - - progress.setPlayMethod(m_playMethod); progress.setPositionTicks(m_mediaPlayer->position() * MS_TICK_FACTOR); QList queue; for (int i = 0; i < m_queue->listSize(); i++) { - DTO::QueueItem queueItem; - queueItem.setJellyfinId(m_queue->listAt(i)->jellyfinId()); + DTO::QueueItem queueItem(m_queue->listAt(i)->jellyfinId()); queue.append(queueItem); } progress.setNowPlayingQueue(queue); @@ -500,7 +498,7 @@ void PlaybackManager::requestItemUrl(QSharedPointer item) { bool forceTranscoding = allowTranscoding && transcodePreferred; - QSharedPointer playbackInfo = QSharedPointer::create(); + QSharedPointer playbackInfo = QSharedPointer::create(m_apiClient->deviceProfile()); params.setItemId(item->jellyfinId()); params.setUserId(m_apiClient->userId()); playbackInfo->setEnableDirectPlay(true); @@ -508,7 +506,6 @@ void PlaybackManager::requestItemUrl(QSharedPointer item) { playbackInfo->setEnableTranscoding(forceTranscoding || allowTranscoding); playbackInfo->setAudioStreamIndex(this->m_audioIndex); playbackInfo->setSubtitleStreamIndex(this->m_subtitleIndex); - playbackInfo->setDeviceProfile(m_apiClient->deviceProfile()); params.setBody(playbackInfo); loader->setParameters(params); diff --git a/core/src/viewmodel/user.cpp b/core/src/viewmodel/user.cpp index ea14c16..0493df9 100644 --- a/core/src/viewmodel/user.cpp +++ b/core/src/viewmodel/user.cpp @@ -25,6 +25,7 @@ namespace Jellyfin { namespace ViewModel { // User + User::User(QObject *parent, QSharedPointer data) : QObject(parent), m_data(data) { diff --git a/core/src/viewmodel/userdata.cpp b/core/src/viewmodel/userdata.cpp index d2b26e1..a4dda54 100644 --- a/core/src/viewmodel/userdata.cpp +++ b/core/src/viewmodel/userdata.cpp @@ -22,7 +22,7 @@ namespace Jellyfin { namespace ViewModel { UserData::UserData(QObject *parent) - : UserData(QSharedPointer::create(), parent) { + : UserData(QSharedPointer::create(0, 0, false, false), parent) { } @@ -30,13 +30,13 @@ UserData::UserData(QSharedPointer data, QObject *parent) : QObject(parent), m_data(data) { if (m_data.isNull()) { - m_data = QSharedPointer::create(); + m_data = QSharedPointer::create(0, 0, false, false); } } void UserData::setData(QSharedPointer data) { if (data.isNull()) { - m_data = QSharedPointer::create(); + m_data = QSharedPointer::create(0, 0, false, false); } else { m_data = data; }