From 90db983c3003e0ca3c45610873e8c06816b7ffee Mon Sep 17 00:00:00 2001 From: Henk Kalkwater Date: Sat, 25 Sep 2021 16:54:33 +0200 Subject: [PATCH] Replace not-fully-initializing DTO constructors There were some constructors in the DTOs which allowed construction of DTO which weren't fully initialized. These constructors have been made private, as they are still used in the 'fromJson' methods. Additionally, a constructor with all required parameters to fully initialize the class has been added. Additionally, the Loader class has been modified, since it no longer can assume it is able to default construct the parameter type. The parameter is now stored as an optional. Closes #15 --- core/codegen/object_header.hbs | 27 +++- core/codegen/object_implementation.hbs | 27 ++++ core/include/JellyfinQt/dto/accessschedule.h | 14 ++- .../include/JellyfinQt/dto/activitylogentry.h | 13 +- .../dto/activitylogentryqueryresult.h | 11 +- .../JellyfinQt/dto/addvirtualfolderdto.h | 10 +- core/include/JellyfinQt/dto/albuminfo.h | 10 +- .../dto/albuminforemotesearchquery.h | 12 +- .../JellyfinQt/dto/allthememediaresult.h | 12 +- core/include/JellyfinQt/dto/artistinfo.h | 10 +- .../dto/artistinforemotesearchquery.h | 12 +- .../JellyfinQt/dto/authenticateuserbyname.h | 6 +- .../JellyfinQt/dto/authenticationinfo.h | 14 ++- .../dto/authenticationinfoqueryresult.h | 11 +- .../JellyfinQt/dto/authenticationresult.h | 11 +- core/include/JellyfinQt/dto/baseitem.h | 15 ++- core/include/JellyfinQt/dto/baseitemdto.h | 20 ++- .../JellyfinQt/dto/baseitemdtoqueryresult.h | 11 +- core/include/JellyfinQt/dto/baseitemperson.h | 6 +- core/include/JellyfinQt/dto/bookinfo.h | 10 +- .../dto/bookinforemotesearchquery.h | 12 +- core/include/JellyfinQt/dto/boxsetinfo.h | 10 +- .../dto/boxsetinforemotesearchquery.h | 12 +- core/include/JellyfinQt/dto/brandingoptions.h | 6 +- .../include/JellyfinQt/dto/bufferrequestdto.h | 13 +- core/include/JellyfinQt/dto/channelfeatures.h | 14 ++- .../JellyfinQt/dto/channelmappingoptionsdto.h | 6 +- core/include/JellyfinQt/dto/chapterinfo.h | 11 +- .../JellyfinQt/dto/clientcapabilities.h | 14 ++- .../JellyfinQt/dto/clientcapabilitiesdto.h | 14 ++- core/include/JellyfinQt/dto/codecprofile.h | 10 +- .../JellyfinQt/dto/collectioncreationresult.h | 10 +- .../JellyfinQt/dto/configurationpageinfo.h | 11 +- .../include/JellyfinQt/dto/containerprofile.h | 10 +- core/include/JellyfinQt/dto/controlresponse.h | 10 +- core/include/JellyfinQt/dto/countryinfo.h | 6 +- .../JellyfinQt/dto/createplaylistdto.h | 6 +- .../include/JellyfinQt/dto/createuserbyname.h | 6 +- core/include/JellyfinQt/dto/culturedto.h | 6 +- .../dto/defaultdirectorybrowserinfodto.h | 6 +- .../JellyfinQt/dto/deviceidentification.h | 6 +- core/include/JellyfinQt/dto/deviceinfo.h | 12 +- .../JellyfinQt/dto/deviceinfoqueryresult.h | 11 +- core/include/JellyfinQt/dto/deviceoptions.h | 6 +- core/include/JellyfinQt/dto/deviceprofile.h | 20 ++- .../JellyfinQt/dto/deviceprofileinfo.h | 10 +- .../JellyfinQt/dto/directplayprofile.h | 10 +- .../JellyfinQt/dto/displaypreferencesdto.h | 17 ++- core/include/JellyfinQt/dto/endpointinfo.h | 11 +- core/include/JellyfinQt/dto/externalidinfo.h | 10 +- core/include/JellyfinQt/dto/externalurl.h | 6 +- .../JellyfinQt/dto/filesystementryinfo.h | 10 +- core/include/JellyfinQt/dto/fontfile.h | 12 +- .../JellyfinQt/dto/forgotpassworddto.h | 10 +- .../JellyfinQt/dto/forgotpasswordresult.h | 10 +- core/include/JellyfinQt/dto/generalcommand.h | 11 +- core/include/JellyfinQt/dto/getprogramsdto.h | 12 +- core/include/JellyfinQt/dto/groupinfodto.h | 12 +- core/include/JellyfinQt/dto/guideinfo.h | 11 +- core/include/JellyfinQt/dto/httpheaderinfo.h | 10 +- .../JellyfinQt/dto/ignorewaitrequestdto.h | 10 +- core/include/JellyfinQt/dto/imagebynameinfo.h | 10 +- core/include/JellyfinQt/dto/imageinfo.h | 11 +- core/include/JellyfinQt/dto/imageoption.h | 12 +- .../JellyfinQt/dto/imageproviderinfo.h | 6 +- .../include/JellyfinQt/dto/installationinfo.h | 11 +- core/include/JellyfinQt/dto/iplugin.h | 12 +- core/include/JellyfinQt/dto/itemcounts.h | 21 +++- .../JellyfinQt/dto/joingrouprequestdto.h | 10 +- .../JellyfinQt/dto/libraryoptioninfodto.h | 10 +- core/include/JellyfinQt/dto/libraryoptions.h | 23 +++- .../JellyfinQt/dto/libraryoptionsresultdto.h | 6 +- .../JellyfinQt/dto/librarytypeoptionsdto.h | 6 +- .../JellyfinQt/dto/libraryupdateinfo.h | 10 +- .../JellyfinQt/dto/listingsproviderinfo.h | 10 +- .../JellyfinQt/dto/livestreamresponse.h | 10 +- core/include/JellyfinQt/dto/livetvinfo.h | 10 +- .../JellyfinQt/dto/livetvserviceinfo.h | 12 +- .../JellyfinQt/dto/localizationoption.h | 6 +- core/include/JellyfinQt/dto/logfile.h | 12 +- core/include/JellyfinQt/dto/mediaattachment.h | 10 +- .../JellyfinQt/dto/mediaencoderpathdto.h | 6 +- core/include/JellyfinQt/dto/mediapathdto.h | 11 +- core/include/JellyfinQt/dto/mediapathinfo.h | 6 +- core/include/JellyfinQt/dto/mediasourceinfo.h | 29 ++++- core/include/JellyfinQt/dto/mediastream.h | 18 ++- .../JellyfinQt/dto/mediaupdateinfodto.h | 6 +- core/include/JellyfinQt/dto/mediaurl.h | 6 +- .../JellyfinQt/dto/metadataeditorinfo.h | 6 +- core/include/JellyfinQt/dto/metadataoptions.h | 6 +- .../dto/moveplaylistitemrequestdto.h | 11 +- core/include/JellyfinQt/dto/movieinfo.h | 10 +- .../dto/movieinforemotesearchquery.h | 12 +- core/include/JellyfinQt/dto/musicvideoinfo.h | 10 +- .../dto/musicvideoinforemotesearchquery.h | 12 +- core/include/JellyfinQt/dto/nameguidpair.h | 10 +- core/include/JellyfinQt/dto/nameidpair.h | 6 +- core/include/JellyfinQt/dto/namevaluepair.h | 6 +- .../JellyfinQt/dto/newgrouprequestdto.h | 6 +- .../JellyfinQt/dto/nextitemrequestdto.h | 10 +- core/include/JellyfinQt/dto/notificationdto.h | 12 +- .../JellyfinQt/dto/notificationresultdto.h | 10 +- .../JellyfinQt/dto/notificationssummarydto.h | 11 +- .../JellyfinQt/dto/notificationtypeinfo.h | 11 +- .../JellyfinQt/dto/objectgroupupdate.h | 12 +- .../JellyfinQt/dto/openlivestreamdto.h | 10 +- core/include/JellyfinQt/dto/packageinfo.h | 6 +- core/include/JellyfinQt/dto/parentalrating.h | 10 +- .../include/JellyfinQt/dto/pathsubstitution.h | 6 +- .../include/JellyfinQt/dto/personlookupinfo.h | 10 +- .../dto/personlookupinforemotesearchquery.h | 12 +- core/include/JellyfinQt/dto/pingrequestdto.h | 10 +- core/include/JellyfinQt/dto/pinredeemresult.h | 10 +- core/include/JellyfinQt/dto/playbackinfodto.h | 10 +- .../JellyfinQt/dto/playbackinforesponse.h | 10 +- .../JellyfinQt/dto/playbackprogressinfo.h | 16 ++- .../JellyfinQt/dto/playbackstartinfo.h | 16 ++- .../include/JellyfinQt/dto/playbackstopinfo.h | 12 +- core/include/JellyfinQt/dto/playerstateinfo.h | 14 ++- .../JellyfinQt/dto/playlistcreationresult.h | 6 +- core/include/JellyfinQt/dto/playrequest.h | 11 +- core/include/JellyfinQt/dto/playrequestdto.h | 11 +- .../include/JellyfinQt/dto/playstaterequest.h | 10 +- core/include/JellyfinQt/dto/plugininfo.h | 14 ++- .../JellyfinQt/dto/pluginsecurityinfo.h | 10 +- .../JellyfinQt/dto/previousitemrequestdto.h | 10 +- core/include/JellyfinQt/dto/problemdetails.h | 6 +- .../include/JellyfinQt/dto/profilecondition.h | 12 +- .../include/JellyfinQt/dto/publicsysteminfo.h | 6 +- core/include/JellyfinQt/dto/queryfilters.h | 6 +- .../JellyfinQt/dto/queryfilterslegacy.h | 6 +- core/include/JellyfinQt/dto/queueitem.h | 10 +- core/include/JellyfinQt/dto/queuerequestdto.h | 10 +- core/include/JellyfinQt/dto/quickconnectdto.h | 10 +- .../JellyfinQt/dto/quickconnectresult.h | 10 +- core/include/JellyfinQt/dto/readyrequestdto.h | 13 +- .../JellyfinQt/dto/recommendationdto.h | 11 +- core/include/JellyfinQt/dto/remoteimageinfo.h | 11 +- .../JellyfinQt/dto/remoteimageresult.h | 10 +- .../JellyfinQt/dto/remotesearchresult.h | 10 +- .../JellyfinQt/dto/remotesubtitleinfo.h | 6 +- .../dto/removefromplaylistrequestdto.h | 6 +- core/include/JellyfinQt/dto/repositoryinfo.h | 10 +- core/include/JellyfinQt/dto/responseprofile.h | 10 +- core/include/JellyfinQt/dto/searchhint.h | 13 +- .../include/JellyfinQt/dto/searchhintresult.h | 10 +- core/include/JellyfinQt/dto/seekrequestdto.h | 10 +- core/include/JellyfinQt/dto/sendcommand.h | 14 ++- core/include/JellyfinQt/dto/seriesinfo.h | 10 +- .../dto/seriesinforemotesearchquery.h | 12 +- .../JellyfinQt/dto/seriestimerinfodto.h | 24 +++- .../dto/seriestimerinfodtoqueryresult.h | 11 +- .../JellyfinQt/dto/serverconfiguration.h | 63 +++++++++- core/include/JellyfinQt/dto/sessioninfo.h | 22 +++- core/include/JellyfinQt/dto/sessionuserinfo.h | 10 +- .../JellyfinQt/dto/setchannelmappingdto.h | 12 +- .../dto/setplaylistitemrequestdto.h | 10 +- .../JellyfinQt/dto/setrepeatmoderequestdto.h | 10 +- .../JellyfinQt/dto/setshufflemoderequestdto.h | 10 +- core/include/JellyfinQt/dto/songinfo.h | 10 +- .../JellyfinQt/dto/specialviewoptiondto.h | 6 +- .../JellyfinQt/dto/startupconfigurationdto.h | 6 +- .../JellyfinQt/dto/startupremoteaccessdto.h | 11 +- core/include/JellyfinQt/dto/startupuserdto.h | 6 +- core/include/JellyfinQt/dto/subtitleprofile.h | 10 +- core/include/JellyfinQt/dto/systeminfo.h | 18 ++- core/include/JellyfinQt/dto/taskinfo.h | 12 +- core/include/JellyfinQt/dto/taskresult.h | 12 +- core/include/JellyfinQt/dto/tasktriggerinfo.h | 10 +- .../include/JellyfinQt/dto/thememediaresult.h | 12 +- core/include/JellyfinQt/dto/timereventinfo.h | 6 +- core/include/JellyfinQt/dto/timerinfodto.h | 20 ++- .../JellyfinQt/dto/timerinfodtoqueryresult.h | 11 +- core/include/JellyfinQt/dto/trailerinfo.h | 10 +- .../dto/trailerinforemotesearchquery.h | 12 +- core/include/JellyfinQt/dto/transcodinginfo.h | 11 +- .../JellyfinQt/dto/transcodingprofile.h | 19 ++- .../JellyfinQt/dto/tunerchannelmapping.h | 6 +- core/include/JellyfinQt/dto/tunerhostinfo.h | 13 +- core/include/JellyfinQt/dto/typeoptions.h | 6 +- .../JellyfinQt/dto/updatelibraryoptionsdto.h | 11 +- .../JellyfinQt/dto/updateusereasypassword.h | 10 +- .../JellyfinQt/dto/updateuserpassword.h | 10 +- .../JellyfinQt/dto/uploadsubtitledto.h | 13 +- .../JellyfinQt/dto/userconfiguration.h | 18 ++- core/include/JellyfinQt/dto/userdto.h | 15 ++- core/include/JellyfinQt/dto/useritemdatadto.h | 13 +- core/include/JellyfinQt/dto/userpolicy.h | 36 +++++- core/include/JellyfinQt/dto/utctimeresponse.h | 11 +- core/include/JellyfinQt/dto/validatepathdto.h | 10 +- core/include/JellyfinQt/dto/version.h | 15 ++- core/include/JellyfinQt/dto/versioninfo.h | 10 +- .../JellyfinQt/dto/virtualfolderinfo.h | 10 +- core/include/JellyfinQt/dto/wakeonlaninfo.h | 10 +- core/include/JellyfinQt/dto/xmlattribute.h | 6 +- core/include/JellyfinQt/model/item.h | 7 +- core/include/JellyfinQt/model/user.h | 3 +- core/include/JellyfinQt/support/loader.h | 30 ++++- core/openapigenerator.d | 31 +++-- core/src/dto/accessschedule.cpp | 14 +++ core/src/dto/activitylogentry.cpp | 12 ++ core/src/dto/activitylogentryqueryresult.cpp | 8 ++ core/src/dto/addvirtualfolderdto.cpp | 6 + core/src/dto/albuminfo.cpp | 6 + core/src/dto/albuminforemotesearchquery.cpp | 10 ++ core/src/dto/allthememediaresult.cpp | 10 ++ core/src/dto/artistinfo.cpp | 6 + core/src/dto/artistinforemotesearchquery.cpp | 10 ++ core/src/dto/authenticationinfo.cpp | 14 +++ .../src/dto/authenticationinfoqueryresult.cpp | 8 ++ core/src/dto/authenticationresult.cpp | 8 ++ core/src/dto/baseitem.cpp | 16 +++ core/src/dto/baseitemdto.cpp | 26 ++++ core/src/dto/baseitemdtoqueryresult.cpp | 8 ++ core/src/dto/bookinfo.cpp | 6 + core/src/dto/bookinforemotesearchquery.cpp | 10 ++ core/src/dto/boxsetinfo.cpp | 6 + core/src/dto/boxsetinforemotesearchquery.cpp | 10 ++ core/src/dto/bufferrequestdto.cpp | 12 ++ core/src/dto/channelfeatures.cpp | 14 +++ core/src/dto/chapterinfo.cpp | 8 ++ core/src/dto/clientcapabilities.cpp | 14 +++ core/src/dto/clientcapabilitiesdto.cpp | 14 +++ core/src/dto/codecprofile.cpp | 6 + core/src/dto/collectioncreationresult.cpp | 6 + core/src/dto/configurationpageinfo.cpp | 8 ++ core/src/dto/containerprofile.cpp | 6 + core/src/dto/controlresponse.cpp | 6 + core/src/dto/deviceinfo.cpp | 10 ++ core/src/dto/deviceinfoqueryresult.cpp | 8 ++ core/src/dto/deviceprofile.cpp | 26 ++++ core/src/dto/deviceprofileinfo.cpp | 6 + core/src/dto/directplayprofile.cpp | 6 + core/src/dto/displaypreferencesdto.cpp | 20 +++ core/src/dto/endpointinfo.cpp | 8 ++ core/src/dto/externalidinfo.cpp | 6 + core/src/dto/filesystementryinfo.cpp | 6 + core/src/dto/fontfile.cpp | 10 ++ core/src/dto/forgotpassworddto.cpp | 6 + core/src/dto/forgotpasswordresult.cpp | 6 + core/src/dto/generalcommand.cpp | 8 ++ core/src/dto/getprogramsdto.cpp | 10 ++ core/src/dto/groupinfodto.cpp | 10 ++ core/src/dto/guideinfo.cpp | 8 ++ core/src/dto/httpheaderinfo.cpp | 6 + core/src/dto/ignorewaitrequestdto.cpp | 6 + core/src/dto/imagebynameinfo.cpp | 6 + core/src/dto/imageinfo.cpp | 8 ++ core/src/dto/imageoption.cpp | 10 ++ core/src/dto/installationinfo.cpp | 8 ++ core/src/dto/iplugin.cpp | 10 ++ core/src/dto/itemcounts.cpp | 28 +++++ core/src/dto/joingrouprequestdto.cpp | 6 + core/src/dto/libraryoptioninfodto.cpp | 6 + core/src/dto/libraryoptions.cpp | 32 +++++ core/src/dto/libraryupdateinfo.cpp | 6 + core/src/dto/listingsproviderinfo.cpp | 6 + core/src/dto/livestreamresponse.cpp | 6 + core/src/dto/livetvinfo.cpp | 6 + core/src/dto/livetvserviceinfo.cpp | 10 ++ core/src/dto/logfile.cpp | 10 ++ core/src/dto/mediaattachment.cpp | 6 + core/src/dto/mediapathdto.cpp | 8 ++ core/src/dto/mediasourceinfo.cpp | 44 +++++++ core/src/dto/mediastream.cpp | 22 ++++ core/src/dto/moveplaylistitemrequestdto.cpp | 8 ++ core/src/dto/movieinfo.cpp | 6 + core/src/dto/movieinforemotesearchquery.cpp | 10 ++ core/src/dto/musicvideoinfo.cpp | 6 + .../dto/musicvideoinforemotesearchquery.cpp | 10 ++ core/src/dto/nameguidpair.cpp | 6 + core/src/dto/nextitemrequestdto.cpp | 6 + core/src/dto/notificationdto.cpp | 10 ++ core/src/dto/notificationresultdto.cpp | 6 + core/src/dto/notificationssummarydto.cpp | 8 ++ core/src/dto/notificationtypeinfo.cpp | 8 ++ core/src/dto/objectgroupupdate.cpp | 10 ++ core/src/dto/openlivestreamdto.cpp | 6 + core/src/dto/parentalrating.cpp | 6 + core/src/dto/personlookupinfo.cpp | 6 + .../dto/personlookupinforemotesearchquery.cpp | 10 ++ core/src/dto/pingrequestdto.cpp | 6 + core/src/dto/pinredeemresult.cpp | 6 + core/src/dto/playbackinfodto.cpp | 6 + core/src/dto/playbackinforesponse.cpp | 6 + core/src/dto/playbackprogressinfo.cpp | 18 +++ core/src/dto/playbackstartinfo.cpp | 18 +++ core/src/dto/playbackstopinfo.cpp | 10 ++ core/src/dto/playerstateinfo.cpp | 14 +++ core/src/dto/playrequest.cpp | 8 ++ core/src/dto/playrequestdto.cpp | 8 ++ core/src/dto/playstaterequest.cpp | 6 + core/src/dto/plugininfo.cpp | 14 +++ core/src/dto/pluginsecurityinfo.cpp | 6 + core/src/dto/previousitemrequestdto.cpp | 6 + core/src/dto/profilecondition.cpp | 10 ++ core/src/dto/queueitem.cpp | 6 + core/src/dto/queuerequestdto.cpp | 6 + core/src/dto/quickconnectdto.cpp | 6 + core/src/dto/quickconnectresult.cpp | 6 + core/src/dto/readyrequestdto.cpp | 12 ++ core/src/dto/recommendationdto.cpp | 8 ++ core/src/dto/remoteimageinfo.cpp | 8 ++ core/src/dto/remoteimageresult.cpp | 6 + core/src/dto/remotesearchresult.cpp | 6 + core/src/dto/repositoryinfo.cpp | 6 + core/src/dto/responseprofile.cpp | 6 + core/src/dto/searchhint.cpp | 12 ++ core/src/dto/searchhintresult.cpp | 6 + core/src/dto/seekrequestdto.cpp | 6 + core/src/dto/sendcommand.cpp | 14 +++ core/src/dto/seriesinfo.cpp | 6 + core/src/dto/seriesinforemotesearchquery.cpp | 10 ++ core/src/dto/seriestimerinfodto.cpp | 34 +++++ .../src/dto/seriestimerinfodtoqueryresult.cpp | 8 ++ core/src/dto/serverconfiguration.cpp | 112 +++++++++++++++++ core/src/dto/sessioninfo.cpp | 30 +++++ core/src/dto/sessionuserinfo.cpp | 6 + core/src/dto/setchannelmappingdto.cpp | 10 ++ core/src/dto/setplaylistitemrequestdto.cpp | 6 + core/src/dto/setrepeatmoderequestdto.cpp | 6 + core/src/dto/setshufflemoderequestdto.cpp | 6 + core/src/dto/songinfo.cpp | 6 + core/src/dto/startupremoteaccessdto.cpp | 8 ++ core/src/dto/subtitleprofile.cpp | 6 + core/src/dto/systeminfo.cpp | 22 ++++ core/src/dto/taskinfo.cpp | 10 ++ core/src/dto/taskresult.cpp | 10 ++ core/src/dto/tasktriggerinfo.cpp | 6 + core/src/dto/thememediaresult.cpp | 10 ++ core/src/dto/timerinfodto.cpp | 26 ++++ core/src/dto/timerinfodtoqueryresult.cpp | 8 ++ core/src/dto/trailerinfo.cpp | 6 + core/src/dto/trailerinforemotesearchquery.cpp | 10 ++ core/src/dto/transcodinginfo.cpp | 8 ++ core/src/dto/transcodingprofile.cpp | 24 ++++ core/src/dto/tunerhostinfo.cpp | 12 ++ core/src/dto/updatelibraryoptionsdto.cpp | 8 ++ core/src/dto/updateusereasypassword.cpp | 6 + core/src/dto/updateuserpassword.cpp | 6 + core/src/dto/uploadsubtitledto.cpp | 12 ++ core/src/dto/userconfiguration.cpp | 22 ++++ core/src/dto/userdto.cpp | 16 +++ core/src/dto/useritemdatadto.cpp | 12 ++ core/src/dto/userpolicy.cpp | 58 +++++++++ core/src/dto/utctimeresponse.cpp | 8 ++ core/src/dto/validatepathdto.cpp | 6 + core/src/dto/version.cpp | 16 +++ core/src/dto/versioninfo.cpp | 6 + core/src/dto/virtualfolderinfo.cpp | 6 + core/src/dto/wakeonlaninfo.cpp | 6 + core/src/model/deviceprofile.cpp | 117 +++++++++++------- core/src/model/item.cpp | 18 ++- core/src/model/user.cpp | 5 +- core/src/viewmodel/item.cpp | 2 +- core/src/viewmodel/playbackmanager.cpp | 27 ++-- core/src/viewmodel/user.cpp | 1 + core/src/viewmodel/userdata.cpp | 6 +- 358 files changed, 3785 insertions(+), 322 deletions(-) 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; }